目录与路径
cd: 切换目录
cd ~tom/ 切换到用户 tom 的 home 目录
cd ~/tom 当前用户目录的 tom 文件夹
cd 回到主文件夹
cd.. 去往上层目录
cd - 去往刚才的目录
pwd: 显示当前目录
mkdir -p a/{x,y,z} 创建多级目录,即a目录下有x,y,z三个目录
rmdir test 若test下有内容,则无法删除
rmdir -p test1/test2/test3 删除子文件夹后,若父文件夹为空,则也删除
./ 在当前路径下找文件执行
echo $PATH 打印环境变量
PATH="$PATH":/root 将/root加入环境变量
文件与目录管理
ls -a 显示全部文件
ls -d 仅列出目录本身
ls -R 连同子目录一起列出
ls --time=(atime,ctime) 输出访问时间或改变权限属性时间
cp -参数 源文件 目标文件
cp /path/xx /path/yy 若yy为文件夹,则将xx拷贝至yy文件夹下,若不是,则将xx拷贝至path目录下命名为yy
cp -d 复制连接文件属性而非文件本身
cp -p 连同文件的属性一起复制过去,而非使用默认属性
cp -u 若目标文件比源文件旧,才更新目标文件
cp -r 递归复制
cp -a = cp -pdr
alias ls 查看 ls 的默认参数
rm -i 在删除前会询问用户
mv path/xx path/yy 若yy不是文件夹,则将xx移动过去命名为yy,否则将xx剪切至yy下
basename 获取文件名
dirname 获取目录名
文件内容查阅
cat 查阅文件
tac 反向列示文件
nl 添加行号打印
nl -b 无论是否为空行,同样列出行号 = cat -n
more 一页一页翻动,空格代表下翻一页,Enter代表向下滚动一行
less 空格向下翻动一页,pagedown向下翻动一页,pageup向上翻动一页,/字符串 向下查询字符串,?字符串 向上查询字符串
N 反向重复前一查询,n 重复前一查询
head -n 5 取出前面5行
tail -n 10 显示后面10行,tail -f等到输入Ctrl+c才会离开检测
od -t c 将2进制文件用ASCII方式输出
touch xx 创建文件
touch -t 0709150202 bashrc 修改文件日期
文件与目录的默认权限和隐藏权限
umask 文件默认权限,umask -S
文件默认为644,文件夹为755,故umask为0022,umask -S u=rwx,g=rx,o=rx
chattr [+-=] 文件或目录名称
chattr +a 文件只能增加数据,不能删除或修改数据,只有root才能设置这个属性
chattr +i 文件不能被删除改名,设置连接也无法写入或添加数据,只有root
SetUID 当s标志出现在文件所有者的x权限上,其他人使用时也会具有所有者权限
chmod u+s
SetGID s在用户组的x时,在该文件夹下创建的文件都会继承这个组 chmod g+s
sticky bit 只能分配给目录,在other权限上,表示除所有者和root,其他人不可删除
4为SUID,2为GUID,1为SBIT
chmod 4755 将权限改成 -rwsr-xr-x
file 查看文件属于ASCII或者data或者binary
命令与文件的查询
which 寻找执行文件 which [-a] command,它根据PATH这个环境变量规范的路径去查询执行文件的文件名
whereis 寻找特定文件 whereis -b 寻找二进制文件,whereis -m 寻找manpage文件
locate [-ir] keyword 在数据库中寻找包含keyword的文件,数据库var/lib/mlocate/每天更新,可以updatedb手动更新
find [PATH] [option] [action]
find -uid n
find -user name 查找所有者为 的文件
find -name filename 查找文件名为filename的文件
find -size [+-]SIZE 查找比SIZE大或小的文件
find -perm 寻找特殊权限的文件 +222 至少有一个w,-222都为w,-22 g和o为w,-2 o为w