Linux --- 常用shell命令汇总
一、常用系统命令汇总
1、echo命令:输出字符串或变量提取后的值
语法:echo[字符串][$变量] 示例: [root@localhost ~]# echo sssss >>>sssss [root@localhost ~]# echo $SHELL /bin/bash
2、date命令:显示及设置系统的时间或日期
语法:date[选项][+指定格式] 示例:[root@localhost ~]# date >>>Wed Dec 2 20:29:19 CST 2020 [root@localhost ~]# date "+%Y-%m-%d %H:%M:%S" >>>2020-12-02 20:30:42
3、reboot命令:重启系统,需要获取root权限
4、poweroff命令:关闭系统,需要获取root权限
5、wget命令:终端中下载网络文件
语法:wget[参数] 下载地址 参数说明:-b 后台下载模式 -p 下载到指定目录 -t 最大尝试次数 -c 断电续传 -p 下载页面内所有资源,包括图片,视频等 -r 递归下载
6、ps命令:查看系统的进程状态
语法:ps [参数] 参数说明:-a 显示所有进程(包括其他用户的进程) -u 用户以及其它详细信息 -x 显示没有控制终端的进程
7、top命令:动态监视进程活动与系统负载等信息
(执行后想要退出按下q或Ctrl + c)
8、pidof命令:查询指定服务进程的PID值,eg:pidof sshd
9、kill命令:终止某个指定PID服务进程,eg:kill 2111
10、killall命令:终止某个名称的服务对应的全部进程,eg:killall httpd
11、clear命令:清屏 清除屏幕上的所有内容,只保留当前提示符,并显示在新屏幕的第一行
二、系统状态检测命令
1、ifconfig命令
语法:ifconfig [网络设备][参数]
功能:获取网卡配置与网络状态等信息
interface:网络接口的名称,如eth()(网卡)
up:激活网络设备
down:关闭网络设备
add:IP地址,即设置网络设备地址
netmask add:子网掩码
2、uname命令:查看当前系统的内核名称、主机、内核发行版本
uname -a 完整地查看当前系统的内核名称、主机名、处理器类型以及操作系统名称等信息
-r 只是查询内核版本信息
3、uptima命令:查看系统负载信息
功能:平均负载指的是系统在最近1分钟、5分钟、15分钟内的压力情况;负载值越低越好,尽量不要长期超过1,在生产环境中不要超过5
4、free命令:显示当前系统内存的使用情况
可以在加后缀-h查看有哪些连缀参数,显示格式等,如free -m,以MB单位显示
5、who命令:查看所有正在登陆本机的用户的名称以及它们正在开启的终端信息
6、last命令:查看所有系统的登陆记录
7、history命令:显示历史执行过的命令
历史命令会被保存到用户家目录中的.bash_history文件中,可以用cat命令查看其文件内容(cat ~/.bash_history)
使用 history -c 命令清除用户在本机上执行的Linux命令历史记录信息
三、工作目录切换命令
1、pwd命令:显示当前所在的工作目录
示例:[root@localhost ~]# pwd >>> /root
2、cd命令:用于切换目录
其他常用:cd - 返回上一次所在目录 cd.. 进入上级目录 cd~ 切换到当前用户的家目录 cd~username 切换到其他用户的家目录
3、ls命令:显示指定工作目录下的内容
格式:ls [选项][文件] 主要参数举例:-a 显示所有的文件以及目录 -l 列出文件名称外,还将文件形态、权限、拥有者、文件大小等详细信息列出 -d 查看目录属性信息
四、文本文件编辑命令
1、cat命令:查看内容比较少的纯文本文件
若想显示行号,可在命令后加 -n 参数 示例:[root@localhost ~]# cat -n .bash_history
2、more命令:查看内容较多的纯文本文件
比如打开长篇小说,使用cat不合适,屏幕显示不下,会不断翻滚,more打开后会显示百分比,可用空格键或回车键翻页
3、head命令:查看文本的前N行
格式:head -n 数字 文件
示例:[root@localhost ~]# head -n 10 .bash_history
4、tail命令:查看纯文本文件的后N行或持续刷新内容(如用于查看最新日志文件)
格式:tail -n 20 文件名 或 tail -f 文件名
5、tr命令:替换文件中的字符
格式:tr[原始字符][目标字符]
6、wc命令:统计指定文本的行数,字数,字节数
-l 只显示行数 -w 值显示单词数 -c 只显示字节数
7、stat命令:查看文件的具体存储信息和时间等信息
示例: [root@localhost ~]# stat .bash_history
8、cut命令:按列提取文本字符
-d 参数设置间隔符 -f 参数设置需要看的列数 示例:[root@localhost ~]# cut -d: -f1 /etc/passwd
9、patch与diff命令:打补丁
生产补丁 diff hello1.c hello2.c > test.patch 打补丁 patch -p0 hello1.c < test.patch 反向补丁 patch -Rp0 hello1.c < test.patch 注意:以上假设hello1.c 为低版本,hello2.c为高版本
五、文件目录管理命令
1、touch命令:创建空白文件或设置文件时间
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件
ls -l 可以显示档案的时间记录
语法:touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…] 参数说明:a 改变档案的读取时间记录 m 改变档案的修改时间 c 假如目的档案不存在,不会建立新的档案,与-no-create的效果一样 f 不使用,是为了与其他unix系统的相容性而保留的 r 使用参考档的时间记录,与-file的效果一样 d 设定时间与日期,可以使用各种不同的格式 t 设定档案的时间记录,格式与date指令相同 --no-create 不会建立新档案 --help 列出指令格式 --version列出版本讯息 示例:https://www.runoob.com/linux/linux-comm-touch.html
2、mkdir命令:创建空白目录
语法:mkdir [-p] dirName
参数说明:-p 确保目录名称存在,不存在的就建一个
3、cp命令:复制文件或目录
语法:cp[选项] 源文件或目录 目录文件或目录 主要参数: -a 该选项保留链接、文件属性、并递归地拷贝文件,其作用等于dpR选项的组合 -d 拷贝时保留链接 -f 删除已经存在的目标文件而不提示 -i 与 f 命令相反,在覆盖目标文件之前将给出提示要求用户确认。回答 y 时目标文件将被覆盖,是交互式拷贝 -p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中 -r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件,此时目标 文件必须为一个目录名 -l 不作拷贝,只是链接文件 -v 显示执行过程
4、mv命令:剪切文件或将文件重命名
格式:mv[选项]源文件[目标路径|目标文件名]
如果在同一个目录中对一个文件进行剪切操作,其实就是对其进行重命名
5、rm命令:删除命令或命令
格式:rm[选项][文件及文件夹] 主要参数: -i 删除前逐一询问确认 -f 即使原档案设为唯读,亦直接删除,无需逐一确认 -r 将目录及以下之档案逐一删除
6、dd命令:按照指定大小和个数的数据块来复制文件或转换文件
格式 dd [参数] if 输入的文件名称 of 输出的文件名称 bs 设置每个“块”的大小 count 设置要赋值“块”的个数
7、file命令:查看文件类型
示例:[root@localhost ~]# file .bash_history
六、打包压缩与搜索命令
1、tar命令:压缩或解压
格式:[选项][文件目录列表] 主要参数: -c 创建压缩文件 -x 解开压缩文件 -t 查看压缩包内有哪些文件 -z 用Gzip压缩或解压 -j 用bzip2压缩或解压 -v 显示压缩或解压的过程 -f 目标文件名 -p 保留原始的权限与属性 -P 使用绝对路径来压缩 -C 指定解压到的目录 常用的压缩格式:tar -czvf 压缩包名称.tar.gz 要打包的目录 常用的解压格式:tar -xzvf 压缩包名称.tar.gz -C 解压到指定目录
2、grep命令:在文本中进行关键词搜索,并显示匹配的结果
格式:grep[选项][文件] 主要参数: -b 将可执行文件(binary)(text)来搜索 -c 仅显示找到的行数 -i 忽略大小写 -n 显示行号 -v 反向选择---仅列出没有"关键词"的行
3、find命令:按照指定条件查找文件
格式:find[查找路径] 寻找条件 操作 可使用不同的文件特性作为寻找条件(如文件名、大小、修改时间、权限等信息),匹配成功则默认将信息显示到屏幕上 -name 匹配名称 -perm 匹配权限(mode为完全匹配,-mode为包含即可) -user 匹配所有者 -group 匹配所有组 -mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前) -atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前) -ctime -n +n 匹配修改忘记拿权限的时间(-指n天以内,+n指n天以前) -nouser 匹配无所有者的文件 -nogroup 匹配无所有组的文件 -newer f1 !f2 匹配比文件f1新但比f2旧的文件 --type b/d/c/p/l/f 匹配文件类型(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) -prune 忽略某个目录 -exec......{}\; 后面可跟用于进一步处理搜索结果的命令 示例:[root@localhost ~]# find /etc -name "host*"
七、软件下载安装命令apt-get
1、修改数据源地址
修改数据源地址可以使用vim编辑器打开该文件修改,或直接使用图形界面修改
2、更新数据源列表apt-get update
更改了数据源地址后,需要使用apt-get update命令更新数据源列表
3、安装和更新软件apt-get install
比如安装vim编辑器,直接输入命令apt-get install vim,再输入y即可