菜鸟科技网

Unix shell常用命令有哪些必备技巧?

Unix shell是Linux和Unix系统中的命令行解释器,用户通过它与操作系统进行交互,掌握常用的shell命令能够极大提升系统管理、文件操作和编程效率,以下将详细介绍Unix shell中常用的命令,涵盖文件管理、文本处理、系统监控、进程管理等多个方面。

Unix shell常用命令有哪些必备技巧?-图1
(图片来源网络,侵删)

文件管理是shell操作的基础。ls命令用于列出目录内容,ls -l以详细格式显示文件权限、所有者、大小和修改时间,ls -a则显示包括隐藏文件在内的所有文件。cd命令用于切换目录,cd ..返回上级目录,cd ~进入用户主目录。pwd命令显示当前工作目录的完整路径,创建目录使用mkdir,如mkdir newdir创建单个目录,mkdir -p parent/child可递归创建多级目录,删除目录时,rmdir只能删除空目录,而rm -r可递归删除非空目录,rm -rf强制删除且不提示,需谨慎使用,文件操作方面,touch filename创建空文件或更新文件时间戳,cp source destination复制文件或目录,mv oldname newname用于移动文件或重命名,rm filename删除文件。ln -s source linkname创建符号链接,类似于Windows中的快捷方式。

文本处理命令在Unix中尤为强大。cat命令用于显示文件内容,cat file1 file2 > combined可合并多个文件。lessmore用于分页查看文件内容,less支持向前和向后翻页。grep用于文本搜索,grep "pattern" file在文件中查找匹配的行,grep -r "pattern" dir递归搜索目录,grep -i忽略大小写。sed是流编辑器,用于文本替换,如sed 's/old/new/g' file将文件中所有"old"替换为"new"。awk是强大的文本分析工具,awk '{print $1}' file打印每行的第一列,awk -F',' '{print $2}' file指定逗号为分隔符并打印第二列。sort对文件行进行排序,sort -n按数字排序,sort -r降序排列,uniq用于去除重复行,通常与sort配合使用,如sort file | uniqheadtail分别显示文件的前几行和后几行,head -n 10 file显示前10行,tail -f file实时跟踪文件更新。

系统监控命令帮助用户了解系统状态。tophtop动态显示进程和系统资源使用情况,htoptop的增强版,界面更友好。df -h查看磁盘空间使用情况,-h选项以人类可读格式显示(如KB、MB、GB)。du -sh *显示当前目录下各文件和目录的大小,-s仅显示总计。free -h查看内存使用情况。ps aux列出当前运行的进程,ps -ef显示所有进程的完整信息,kill -9 PID强制终止指定进程,killall processname通过进程名终止进程。uname -a显示系统信息,包括内核版本和主机名。uptime显示系统运行时间和负载情况。netstat -tuln查看监听的端口和连接状态,ss -tulnnetstat的替代工具,性能更优。

网络相关命令用于管理和调试网络连接。ping测试网络连通性,ping google.com向目标主机发送ICMP包。ifconfigip addr显示和配置网络接口,ifconfig eth0 up启用网卡,ip addr add 192.168.1.100/24 dev eth0添加IP地址。ssh user@host通过SSH远程登录主机,scp localfile user@host:remotepath安全复制文件到远程主机。wgetcurl用于下载文件,wget https://example.com/file.zip下载文件,curl -I https://example.com获取HTTP头信息。traceroute显示数据包到目标主机的路径,nslookupdig用于DNS查询,nslookup example.com查询域名对应的IP地址。

Unix shell常用命令有哪些必备技巧?-图2
(图片来源网络,侵删)

压缩与归档命令便于文件备份和传输。tar是最常用的归档工具,tar -czf archive.tar.gz files创建gzip压缩的归档文件,tar -xzf archive.tar.gz解压,tar -tvf archive.tar查看归档内容。zipunzip处理.zip格式文件,zip -r archive.zip dir递归压缩目录,unzip archive.zip解压。gzip用于压缩单个文件,gzip file压缩并生成.gz文件,gunzip file.gz解压。bzip2bunzip2提供更高压缩率的压缩工具,但速度较慢。

权限管理命令确保系统安全。chmod修改文件权限,chmod 755 file设置所有者可读写执行,组和其他用户可读执行,chmod u+x file为所有者添加执行权限。chown更改文件所有者,chown user:group file同时更改所有者和所属组,sudo chown -R user dir递归更改目录所有权。umask设置默认权限,如umask 022新创建的文件默认权限为644(目录为755)。

以下是一些常见问题的解答:

FAQs

Unix shell常用命令有哪些必备技巧?-图3
(图片来源网络,侵删)
  1. 问:如何查找包含特定字符串的文件?
    答:可以使用grep命令结合-r选项递归搜索目录,在当前目录及其子目录中查找包含"error"的文件,可执行grep -r "error" .,若需忽略大小写,添加-i选项,即grep -ri "error" .,若需显示文件名和行号,使用n选项,如grep -rn "error" .

  2. 问:如何后台运行一个长时间执行的命令?
    答:在命令末尾添加&符号可将进程放入后台运行,例如long_running_command &,若需在后台运行并输出日志到文件,可使用nohup命令,如nohup long_running_command > output.log 2>&1 &,其中nohup使进程忽略挂断信号,> output.log将标准输出重定向到文件,2>&1将错误输出也重定向到同一文件,&表示后台运行。

分享:
扫描分享到社交APP
上一篇
下一篇