pwd:显示当前所在位置
cd:切换目录 cd ~ 切换到当前用户家目录;cd .. 切换到上一级目录;cd - 切换到上一次所在的目录
tree:以树形结构显示目录下的内容 tree -a 显示所有文件;tree -L 2 指定显示层级;tree -d 只显示目录;tree -fi -f表示显示内容的完整路径,-i表示不显示树枝部分;tree -L 1 -F /boot/ | grep /$ 过滤以斜线结尾的所有内容;tree --noreport 表示不显示最后一行的统计信息;
mkdir:创建目录 mkdir -p /home/aaa/bbb 递归创建目录;mkdir -m 755 /home/test 设置新创建目录的默认权限;mkdir -pv /home/skf/{dir1_1,dir1_2}/{dir2_1,dir2_2} 同时创建多个多级目录,-v表示显示创建过程;
tree -fid --noreport /etc/ >> /home/skf/tree.txt; cd /tmp/; mkdir -p $(cat /home/skf/tree.txt)
touch:创建空文件或改变文件的时间戳属性 -a 更改最后访问时间;-m 更改最后修改时间;-r file 更改时间属性与file文件时间属性相同;touch stu{01..05} 同事创建多个文件;
ls:显示目录下的内容及相关属性信息 -l 以长格式显示;-a 显示所有文件;-t 根据修改时间排序;-r 依相反次序排序;-F 条目后添加文件类型指示符号;-i 显示inode节点信息;-h 以人类可读信息显示文件大小;-S 根据文件大小排序; -R递归出所有子目录;-X根据扩展名排列;-c 根据状态改变时间排序;-u 根据最后访问时间排序;ls -l --time-style=long-iso 以long-iso方式显示时间;ls -F | grep / 只显示目录,ls -F | grep -v / 不显示目录;
cp:复制文件或目录 -p 表示保留属性;-d 表示复制符号链接本身;-r 表示递归复制;-a 等同于-pdr;-i 表示覆盖文件时提示用户;\cp 表示覆盖文件时不提示用户;/bin/cp 当要覆盖文件时也不会提示用户;cp /etc/passwd{,.bak} 快速备份文件;
mv:移动或重命名文件 -f 表示直接覆盖;-i表示询问是否覆盖;-n表示不覆盖已经存在的文件;-t 表示同时移动多个文件,-t后接目录;-u 表示源文件更新,或目标文件不存在时进行移动;
rm:删除文件或目录 -f 表示强制删除;-r 表示递归删除;-i 表示删除前要确认;-I 表示超过三个或递归删除前要求确认;
rmdir:删除空目录 -p 表示递归删除目录;
ln:硬链接与软链接 -s 表示创建软链接,无参数表示创建硬链接;
readlink:查看符号链接文件的内容 -r 表示一直跟随符号链接,直到非符号链接的文件位置;
find:查看目录下的文件 -maxdepth levels 查找的最大目录级数;-mtime [-n|n|+n] 按照修改时间查找;-name 按照名称查找;-regex 接正则表达式;-size 按照文件大小查找;-type [b|c|d|l|f|s] 按照文件类型查找;-exec 对匹配的文件执行给出的shell命令;-perm 755 按照文件权限查找;! 表示取反,-a表示取交集,-o表示取并集;-newer file 查找比file更新的文件;
find /root/data -name "*.txt" | xargs -i mv {} /home/skf/dir
find /root/data -type f -name "*file.txt" | xargs rm -f
find /root/data -type f -name "*file.txt" -exec rm -f {} \;
sed -i 's#./hostlists.txt#../idctest_iplist#g' `find /root/data -name "*.sh"`
find /root/data -type f ! -name "file10" | xargs rm -f
rsync -az --delete --exclude "file10" /null/ /root/data
find . -name "*edu*" -print0 | xargs -0 ls -lh
xargs:将标准输入转换成命令行参数 -n 指定每行最大参数量;-d 自定义分隔符;-i 以{}代替前面的结果;-I 指定一个符号代替前面的结果;-p 提示用户确认是否执行后面的命令;-0 用null代替空格作为分隔符,配合find命令的-print0选项的输出使用;
rename:重命名文件 rename from to file 将文件file名称中的from替换为to;
basename:显示文件名或目录名(去掉前面的路径和后面的拓展名)
dirname:显示文件或目录路径
chattr:改变文件的扩展属性 -R 递归更改目录属性;+ 增加参数;- 移除参数;= 更新为指定参数;a 只能向文件中添加数据,而不能删除;i 不允许文件被做任何修改;
lsattr:查看文件扩展属性 -R 递归查看目录的扩展属性;-a 显示所有文件的扩展属性;-d 显示目录的扩展属性;
file:显示文件的类型 -b 精简格式输出,不显示文件名;
md5sum:计算和校验文件的MD5 -c 从文件中读取MD5值,并进行校验;md5sum test.txt > md5.log; md5sum -c mg5.log
chown:改变文件或目录的用户和用户组 -R 递归修改目录的用户和用户组;chown -R skf:root /root/data;
chmod:改变文件或目录权限 -R 递归修改;
chgrp:更改文件用户组 -R 递归修改;
umask:显示或设置权限掩码 永久配置文件在/etc/bashrc或/etc/profile;
备注:
1、修改PS1变量的值,永久修改在/etc/bashrc文件中(大约在36行)。["$PS1"="\\s-\\v\\\$"]&&PS1="[\u@\h \W]\\$"
2、修改LANG变量的值,LANG=en_US.UTF-8
3、stat命令可以查看文件的时间戳属性
4、facl文件访问控制列表
getfacl 查看文件的facl权限: getfacl 文件名
setfacl 设置文件的acl: setfacl [选项] 权限 文件名
-m 设置或修改ACL权限;setfacl -m u:adm:rw- skf.txt
-R 递归设置ACL权限(对目录及其子文件)
-x 删除指定用户的文件的ACL权限
-d 设置默认的ACL权限(仅用于目录,目录中新创建的文件会继承ACL权限)setfacl -dm u:adm:r-x /test
-b 删除所有的ACL权限
5、3个S权限
SUID:临时借用命令的属主的身份做事;chmod -v u+s 文件名
SGID:继承目录的组属性;chmod -v g+s 文件名
SBIT:每个用户只能删除自己创建的文件;chmod -v o+t 文件名