Linux——Shell命令大全集合

本文介绍了Shell中的常用命令,如文件管理(ls,rm,cp,mv等)、文本处理(cat,grep,head,tail等)、系统操作(date,time,shutdown等)、权限管理(chmod,chown)等,为初学者提供了一个基本的Shell命令参考指南。

Shell命令:

  • ls:列出当前目录下文件

                -l:使用长格式显示详细属性

  • cat:将文本文件输出到终端
  • less/more:分屏显示文件
  • rm:删除文件

                -r:删除目录及目录内文件

  • cp:复制文件
  • mv:移动文件 或 重命名文件
  • mkdir:创建目录

                -p:多级创建

  • rmdir:删除空目录
  • cd:更改目录
  • grep:显示含有关键字的行

                -v:反向选择(即不显示含有关键字的行)

  • head:显示文件开头
  • tail:显示文件结尾
  • sort:将文件内容排序后输出

                -r:反序

                -R:随机顺序

  • uniq:省略文件中相邻的重复行

                -c:统计重复行的出现次数

                -d:报告出现的重复行

                -u:只会输出未重复的行

  • diff:比较两个文件。

                若两个都为文本文件则会输出两个文件不同的文本,若无差异则不会输出;

                若两个都为目录则会输出两个目录内文件的差异。diff命令通常用于查看两个补丁文件的异同从而进行软件的版本控制工作。

                -w:忽略空格与制表符,将所有的空格视为一致。例如if(a == b)if(a==b)将会视为一致。

  • file:判定文件类型
  • echo:显示文本

                -n:输出文字不换行

                -e:开启转义字符(可以使用\t(水平制表符)、\v(垂直制表符)、\n(换行符)等转义字符)

                注意:若想让echo原样输出,则需要加上引号,否则echo会将每个用空格隔开的单词作为一个字 符串,各字符串用空格分隔。例如:

           1.echo "Hello   World" 将间距较大的空格原样输出,输出Hello   World

           2.echo Hello World 认为输入的是两个单词,每个字符串用一个空格分隔,输出Hello World

  • date:显示/设置系统时间与日期

                -d 字符串:显示指定字符串的时间而不是现在时间

                -R:以RFC2822格式输出

                -s 时间:设定指定的时间。通常我们使用"sudo date -s 时间"命令来设置当前系统时间

                -u:输出协调世界时(Coordinated Universal Time,又称世界标准时间,简称UTC。中国大陆地区(上海)、中国香港、中国澳门、中国台湾与UTC时差为8小时,即中国大陆地区(上海)、中国香港、中国澳门、中国台湾记为UTC+8

  • tar:归档文件/展开归档文件
  • whereis:查看命令存储位置/源码存储位置/帮助文档存储位置

                -b:只显示命令存储位置

                -s:只显示源码存储位置

                -m:只显示帮助文档存储位置

  • which:定位某个命令的存储位置
  • ps:报告当前进程信息

                -A-e:报告所有进程

                a:显示现行终端下的所有程序(包括其他用户)

                x:不区分终端,显示所有程序

                u:使用用户为主的格式

                f:用树形结构显示

常用ps axu来显示所有进程信息,再配合grep和管道去查看特定进程信息。

使用ps显示进程信息,显示出的信息的表头信息分别为:

USER:进程所有者

PID:进程id

PPID:父进程id

PGID:进程组id

SID:会话id

TTY:进程相关的终端

CPU:占用CPU百分比

MEM:占用内存百分比

STAT:进程状态。有以下几种形式:

                S:休眠

                D:无法中断的休眠(例如某些负责IO的进程)

                R:运行中

                T:停止

                Z:僵死

<:优先级高

N:优先级低

s:进程领导者,在该进程下有子进程

l:多进程的

+:后台进程组

TIME:进程消耗CPU的时间

COMMAND:命令行参数

  • top:实时监视当前进程

                -p PID:监视指定进程号的进程。可以有多个PID

                与ps命令不同,top命令显示的进程信息会进行实时刷新,通常通过top命令得出当前的CPU和内存负载情况。

  • df:报告文件系统占用空间情况

                -a:显示全部文件系统

                -h:方便阅读模式(即转换为1G=1024M1M=1024K的模式)

                -i:显示inode信息

                -t 文件系统类型:只显示选定文件系统

  • du:显示磁盘空间的使用情况 free

                -h:方便阅读模式(即转换为1G=1024M1M=1024K的模式)

                -a:显示目录以及目录下其他子目录和子文件占用磁盘空间大小

                -s:只显示目录,不显示目录下其他子目录和子文件占用磁盘空间大小

  • kill:杀死指定进程(需指定进程ID)

                -9:强行杀死

                kill命令经常与ps命令一起使用,用于杀死已经死锁或需要终止的进程。

                //实际上,kill命令的真正含义是向进程发送一个信号。

  • chmod:改变文件的文件权限

                用法:chmod 文件权限码 文件名。例如chmod 0775 hello.c

  • chown:改变文件所有者或文件组

                用法:chown 用户名:组名 文件名。例如chown root:root hello.c

  • pwd:显示当前的绝对路径
  • ln:创建文件的链接

                -s:创建符号链接(软链接)。若此选项缺省则认为创建的是硬链接。

  • who:显示目前登陆系统的用户信息

                who am i 或 -m:显示当前用户名

                -H:显示表头信息

  • man;获取命令或程序的说明文档

                对于同一个命令或程序,man命令可能拥有多个章节。这时我们可以在man命令后面添加对应的数字信息来查看更多信息。例如,输入man 1 printfman 3 printf可以得到printf在不同章节的说明文档。

        1Shell标准命令说明

        2:系统调用说明

        3:常用库函数说明(一般为C库函数)

        4:特殊文件说明(一般为/dev下的设备)

        5:文件格式说明(例如/etc/passwd

        6:游戏

        7:杂项

        8:管理员指令

        9Linux特定的内核文档

        在帮助文档内按q退出

        -k:按关键字搜索说明文档。例如man -k "list directory"。注意list directory有无引号的区别。

  • shutdown:关闭/重启系统。一般需要超级用户权限。shutdown命令的一般用法是:

                shutdown [可选项] [时间格式] [提示信息]

                -r:重启

                -h:关机

                -k:不会真正关机,只是提示登录用户

                -c:取消一个正在执行的shutdown命令

                时间格式一般是'+'和数字,表示几分钟后。若想立即则可以指定为now

  • passwd:修改密码。出于安全性的考虑,Linux系统的密码是不回显的(即输入时不会显示位的个数)。root用户可以修改所有用户的密码,而普通用户只能修改自己的密码。

                用法:passwd 用户名。修改某个用户名的密码

  • su:临时改变当前用户的身份。若未指定用户名则默认将当前用户改变为root用户。当需要退出该身份的时候,可以输入exit 退出 root用户。
  • clear:清空终端
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值