ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux终端Shell常用命令

2021-04-18 19:01:42  阅读:177  来源: 互联网

标签:文件 显示 Shell -- 常用命令 命令 Linux rpm 目录


Linux终端Shell常用命令

1. ls命令:列出文件

  • ls -la    列出当前目录下的所有文件和文件夹
  • ls a*     列出当前目录下所有以a字母开头的文件
  • ls -l *.txt   列出当前目录下所有后缀名为txt的文件
  • ls –a    显示一般文件名外,连隐藏文件也会显示出来。
  • ls –l     该参数显示更详细的文件信息。

2. cd: 用于切换用户当前工作目录

  • cd abc    进入abc目录
  • cd      命令后不指定目录,会切换到当前用户的home 目录
  • cd ~     作用同cd后不指定目录,切换到当前用户的home 目录
  • cd -     命令后跟一个减号,则会退回到切换前的目录
  • cd ..    返回到当前目录下的上一级目录
  • cd ../..    返回到上二层目录

3. pwd:用于显示用户当前工作目录


4. touch a.txt:建立一个名为a的txt类型文件


5. rm命令:可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

  • –i :  系统在删除文件之前会先询问确认,用户回车之后,文件才会真的被删除。rm -i a.txt
  • -r:   递归处理,将指定目录下的所有文件与子目录一并处理;rm -r ab
  • -f:   强制删除文件或目录;rm -i ab
  • -rf:   一般使用的的命令rm -rf ab是由r和f的组合

6.cat命令:cat经常用来显示文件的内容,合并文件

  • cat m1:        在屏幕上显示文件ml的内容
  • cat m1 m2:      同时显示文件ml和m2的内容
  • cat m1 m2 > file:   将文件ml和m2合并后放入文件file中

7.mkdir命令:创建目录

  • mkdir test: 在当前目录下创建一个名为test的目录(不使用参数)
  • –m :     建立目录的同时设置目录的权限;mkdir -m 700 /usr/meng/test ; 在目录/usr/meng下建立子目录test,并且只有文件拥有者(owner)有读、写和执行权限,其他人无权访问。
    read/write/execute权限。各权限的分数对照表如下:
    r:4   w:2   x:1

  • -p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;mkdir -p-m 750 bin/os_1在当前目录中建立bin和bin下的os_1目录,并设置权限

8. rmdir命令:删除目录

  • tmdir test:   删除一个目录
  • -p或--parents: 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;rmdir -p bin/os_1 ;删除子目录os_1和其父目录bin

9.cp:cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。

  • cp file /usr/men/tmp/file1  将文件file复制到目录/usr/men/tmp下,并改名为file1
  • -R/r:           递归处理,将指定目录下的所有文件与子目录一并处理;
  • cp -r /usr/men /usr/zh   将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中

10.mv:移动命令,用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。

  • mv ex3 new1:  将文件ex3改名为new1
  • mv a.txt ./test: 把文件移动到一个目录下

11.grep命令:搜索文件, 用于从文件面搜索包含指定模式的行并打印出来,它是一种强大的文本搜索工具,支持使用正则表达式搜索文本。

  • ls -la | grep a.txt : 搜索a.txt文件

12.echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。

  • echo “hello world!” >> a.txt: 添加内容到文件a里面
  • -e:              激活转义字符。echo -e "\e[1;31mThis is red text\e[0m", \e[1;31m 将颜色设置为红色; \e[0m 将颜色重新置回. 用echo命令打印带有色彩的文字:

13.find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

  • 列出当前目录及子目录下所有文件和文件夹: find .
  • 在/home目录下查找以.txt结尾的文件名: find /home -name "*.txt"
  • find . ( -name ".txt" -o -name ".pdf" )当前目录及子目录下查找所有以.txt和.pdf结尾的文件.
  • 基于目录深度搜索. find . -maxdepth 3 -type f 向下最大深度限制为3
  • 根据文件时间戳进行搜索. find . -type f 时间戳
  • 删除匹配文件find . -type f -name "*.txt" –delete 删除当前目录下所有.txt文件
  • 根据文件权限/所有权进行匹配 find . -type f -perm 777当前目录下搜索出权限为777的文件

15.Tar 文件的打包和压缩

  • 将文件全部打包成tar包:tar -cvf log.tar log2012.log 仅打包,不压缩! tar -zcvf log.tar.gz log2012.log 打包后,以 gzip 压缩 tar -jcvf log.tar.bz2 log2012.log 打包后,以 bzip2 压缩
  • 将tar包解压缩:tar -zxvf /opt/soft/test/log.tar.gz

16.df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

  • 查看系统磁盘设备,默认是KB为单位: df
  • 使用-h选项以KB以上的单位来显示,可读性高:df -h
  • 查看全部文件系统:df –a
  • -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统
  • -k 以kB单位显示。
  • -i显示inode的信息,而不是磁盘块。每个硬盘分区的inode总数和已经使用的数量,
  • -T或--print-type:显示文件系统的类型;
  • -t 显示各指定类型的文件系统的磁盘空间使用情况。
  • -x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。

17.su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

  • Su 默认没有参数切换到root用户
  • Su – 时 变更环境变量

18.uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。

  • -a或--all:显示全部的信息;
  • -m或--machine:显示电脑类型;
  • -n或-nodename:显示在网络上的主机名称;
  • -r或--release:显示操作系统的发行编号;
  • -s或--sysname:显示操作系统名称;
  • -v:显示操作系统的版本;
  • -p或--processor:输出处理器类型或"unknown";
  • -i或--hardware-platform:输出硬件平台或"unknown";
  • -o或--operating-system:输出操作系统名称;
  • --help:显示帮助;
  • --version:显示版本信息。

19.rpm命令是RPM软件包的管理工具

  • 安装rpm软件包:
    i.rpm -ivh your-package.rpm
    ii.可能是要安装的包里有一些文件可能会覆盖现有的文件,缺省时这样的情况下是无法正确安装的可以用rpm --force -i强制安装即可
    iii.此包需要的一些软件你没有安装可以用rpm --nodeps -i来忽略此信息,也就是说rpm -i --force --nodeps可以忽略所有依赖关系和文件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能。
    iv.
  • 如何安装.src.rpm软件包有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。这类软件包有两种安装方法:
    i.rpm -i your-package.src.rpm
    ii.cd /usr/src/redhat/SPECS rpm
    iii.build -bp your-package.specs #一个和你的软件包同名的specs文件
    iv. cd /usr/src/redhat/BUILD/your-package/ #一个和你的软件包同名的目录
    v../configure #这一步和编译普通的源码软件一样,可以加上参数
    vi.make
    vii. make install
  • 如何卸载rpm软件包
    i.rpm –e 软件包名:删除指定软件。
  • rpm –qa :查询已经安装了的软件包
  • rpm –q 软件包名:查询指定软件包是否已经安装。
  • pm –Uvh 软件包名:升级一个软件包
  • rpm –qa | wc –l:查看已安装的所有安装包。

20.用top 命令来监测系统资源使用情况

  • top –d:指定两次屏幕信息刷新之间的时间间隔。
  • top –p:通过指定监控进程ID来监控某个进程的状态。
  • top –q:使top 没有延迟刷新。
  • top –c: 显示整个命令行而不只是显示命令名(COMMAND的属性的显示是不同的)。
  • top –S:指定累计模式。
  • top –s:使top命令在安全模式中运行。
  • top –i:使top不显示任何闲置或僵死进程。
  • top交互命令:在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。
    i.h:显示帮助画面,给出一些简短的命令总结说明;
    ii.k:终止一个进程;
    iii. i:忽略闲置和僵死进程,
    iv.这是一个开关式命令;
    v.q:退出程序;
    vi. r:重新安排一个进程的优先级别;
    vii. S:切换到累计模式;
    viii.s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
    ix.f或者F:从当前显示中添加或者删除项目;
    x.o或者O:改变显示项目的顺序;
    xi.l:切换显示平均负载和启动时间信息;
    xii.m:切换显示内存信息;
    xiii.t:切换显示进程和CPU状态信息;
    xiv.c:切换显示命令名称和完整命令行;
    xv.M:根据驻留内存大小进行排序;
    xvi.P:根据CPU使用百分比大小进行排序;
    xvii.T:根据时间/累计时间进行排序;
    xviii. w:将当前设置写入~/.toprc文件中。

21.free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

  • 参数:
    i.-b:以Byte为单位显示内存使用情况;
    ii. -k:以KB为单位显示内存使用情况;
    iii.-m:以MB为单位显示内存使用情况;
    iv.-o:不显示缓冲区调节列;
    v.-s<间隔秒数>:持续观察内存使用状况;
    vi. -t:显示内存总和列; -V:显示版本信息。
  • 第一部分Mem行解释:
    i.total:内存总数;
    ii.used:已经使用的内存数;
    iii.free:空闲的内存数;
    iv.shared:当前已经废弃不用;
    v.buffers Buffer:缓存内存数;
    vi.cached Page:缓存内存数。
    vii.关系:total = used + free
  • 第二部分(-/+ buffers/cache)解释:
    i.(-buffers/cache) used内存数:第一部分Mem行中的 used – buffers – cached
    ii.(+buffers/cache) free内存数: 第一部分Mem行中的 free + buffers + cached
    iii.可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
  • 第三部分是指交换分区

标签:文件,显示,Shell,--,常用命令,命令,Linux,rpm,目录
来源: https://www.cnblogs.com/wsgxg/p/14674221.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有