ls:列出目录内容
用于显示目录下的文件和子目录信息,常用选项组合为ls -lah(-l显示详细信息、-a显示隐藏文件、-h以人类可读格式显示文件大小)。
示例:ls -lah /home(查看/home目录下所有文件,包括隐藏文件及详细信息)。
cd:切换工作目录
用于改变当前所在目录,常用路径:~(用户家目录)、..(上级目录)、.(当前目录)。
示例:cd /var/log(切换到/var/log目录)、cd ..(返回上一级目录)。
mkdir:创建目录
用于创建新目录,-p选项可递归创建多级目录(如父目录不存在时自动创建)。
示例:mkdir -p /data/logs/2025(创建/data/logs/2025目录及父目录)。
rmdir:删除空目录
仅能删除空目录,若目录非空需使用rm -r命令。
示例:rmdir /empty_dir(删除空的/empty_dir目录)。
touch:创建或更新文件时间戳
用于创建空文件,或更新现有文件的访问/修改时间(-a仅改访问时间、-m仅改修改时间)。
示例:touch newfile.txt(创建newfile.txt)、touch -m existing.txt(更新existing.txt的修改时间)。
cp:复制文件或目录
用于复制文件或目录,-r选项用于递归复制目录,-p保留文件属性(权限、时间戳等),-v显示复制进度。
示例:cp file1.txt file2.txt(复制file1.txt为file2.txt)、cp -r /source/dir /target/dir(递归复制目录)。
mv:移动或重命名文件/目录
用于移动文件/目录到指定路径,或重命名文件/目录(同一目录下操作即为重命名)。
示例:mv oldname.txt newname.txt(重命名oldname.txt为newname.txt)、mv file.txt /tmp/(移动file.txt到/tmp目录)。
rm:删除文件或目录
用于删除文件或目录,-r递归删除目录,-f强制删除(不提示确认),-i交互式删除(删除前确认)。
示例:rm -rf /tmp/testdir(强制递归删除/tmp/testdir目录)、rm -i file.txt(删除file.txt前确认)。
cat:查看完整文件内容
用于连接并显示文件内容,-n显示行号,-A显示所有字符(包括特殊字符如^M)。
示例:cat -n /etc/passwd(显示/etc/passwd文件内容并带行号)。
more/less:分页查看大文件
more:按页显示文件内容,空格键翻页、q退出;less:更强大的分页工具,支持上下翻页(↑/↓)、搜索(/pattern)、跳转(G到末尾)。
示例:less /var/log/messages(分页查看系统日志)。
head/tail:查看文件开头/结尾部分
head:默认显示文件前10行,-n指定行数;tail:默认显示文件后10行,-n指定行数,-f实时跟踪文件变化(常用于日志监控)。
示例:head -n 20 /etc/hosts(查看/etc/hosts前20行)、tail -f /var/log/nginx/access.log(实时查看Nginx访问日志)。
find:按条件查找文件/目录
功能强大,可按名称、类型、时间、权限等条件查找。常用选项:-name(按名称查找)、-type(按类型:f=文件、d=目录)、-mtime(按修改时间:-7=7天内修改)。
示例:find /home -name "*.conf"(查找/home目录下所有.conf文件)、find . -type f -mtime -3(查找当前目录下3天内修改的文件)。
grep:在文件中搜索文本
用于递归搜索文件中包含指定模式的行,-r递归搜索目录,-n显示行号,-i忽略大小写。
示例:grep -rn "error" /var/log/(递归搜索/var/log目录下包含“error”的行并显示行号)。
chmod:修改文件/目录权限
用数字表示权限(r=4、w=2、x=1),如755=所有者有读写执行权限,组和其他用户有读执行权限;也可用u+x(给所有者添加执行权限)。
示例:chmod 755 script.sh(设置script.sh为可执行权限)、chmod u+x file.txt(给file.txt所有者添加执行权限)。
chown:修改文件/目录所有者
用于修改文件/目录的所有者(username)或所属组(groupname),-R递归修改目录及其内容。
示例:chown user1:user2 file.txt(将file.txt所有者改为user1,所属组改为user2)、chown -R root:root /data(递归修改/data目录所有者为root)。
chgrp:修改文件/目录所属组
仅修改文件/目录的所属组,-R递归修改。
示例:chgrp dev_group /project(将/project目录所属组改为dev_group)。
tar:打包与解包文件-c创建压缩包、-x解包、-z使用gzip压缩(.tar.gz)、-j使用bzip2压缩(.tar.bz2)、-v显示过程、-f指定文件名。tar -zcvf backup.tar.gz /data(将/data目录打包为backup.tar.gz)、tar -xzvf backup.tar.gz(解压backup.tar.gz)。find:查找文件/目录
除了按名称查找,还可按类型(-type f/d)、时间(-mtime/-atime)、权限(-perm)等条件查找。
示例:find /tmp -type f -atime +7 -delete(删除/tmp目录下7天未访问的文件)。
locate:快速查找文件
通过数据库快速查找文件(需先更新数据库:updatedb),比find更快但结果可能不及时。
示例:locate nginx.conf(快速查找nginx.conf文件)。
ln:创建链接
硬链接(ln source link):与源文件共享inode,删除源文件不影响硬链接;符号链接(ln -s source link):类似Windows快捷方式,源文件删除后链接失效。
示例:ln -s /usr/local/bin/python3 /usr/bin/python(创建python符号链接指向python3)。