Linux命令复盘

Posted Mrs.King_UP

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令复盘相关的知识,希望对你有一定的参考价值。

一、文件目录操作

1.ls命令

查看linux文件夹包含的文件以及文件权限

  • ls列出当前目录下所有文件

  • ls -l 列出目录下所有的文件及文件权限、属性等信息

  • ls -a 列出目录下隐藏的文件

  • ll 列出目录下所有的文件(包括以后隐藏文件)和权限属性信息

      1.列出home目录下所有文件和目录的详细信息
      	ls -a -l /home
      	ls -al /home
      2.列出当前目录下所有以"d"开头的文件目录详情
      	ls -l d*
      3.权限解析:第一列第1位为"d",为目录;为"-",为文件;为"l",为链接文件。后9位,以此对应owner、group、others三种身份所拥有的权限,权限的顺序为:readable、writable、excutable
      	dr-xr-xr-x. 17 root root  224 Dec 14 01:38 ..
      	-rw-------.  1 root root 1.3K Dec 14 01:38 anaconda-ks.cfg
      	-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限。
    

2.cd命令

切换当前工作目录

  • cd /从当前目录进入系统根目录
  • cd ..返回上一级目录

3.pwd命令

查看当前工作目录的完整路径

4.mkdir命令

创建指定名称的目录,要求创建目录的用户对创建的目录具有写的权限,且名称不能是已有的目录

  • mkdir -m 777 directions 创建文件夹并设定权限
  • mkdir -p diretion1/diretion2 级联创建,路径中的目录不存在,则自动创建多个目录
  • mkdir -v test每次创建新目录都显示信息
  • mkdir --help显示mkdir命令的帮助信息
  • mkdir --version显示mkdir命令的版本

5.rm命令

删除一个或多个文件或目录,如果没有使用-r,则rm不会删除目录

  • rm -f filename 强制删除,不会询问
  • rm -i filename 交互式删除文件
  • rm -r direction 删除目录和该目录下的所有东西
  • rm --version 命令的版本信息
  • rm --help 命令的使用说明

6.rmdir命令

删除空目录

  • rmdir t1 删除t1空目录,不为空,则无法删除
  • rmdir -p t2/t3删除空的子目录t3,若t2为空,则t2同样被删除

7.mv命令

移动文件or将文件改名

  • mv -b filename direction 若需覆盖文件,则覆盖前先行备份

  • mv -f filename direction 不会询问,强制覆盖

  • mv -i filename direction 移动文件时,若目标文件已经存在,则会询问是否覆盖

      1.将test1.txt重命名为test2.txt	     
      	mv test1.txt test2.txt
      2.将文件test1.txt移动到目录test2中
       	mv test1.txt test2 
      3.将文件t1、t2、t3移动到test目录中
       	mv t1.txt t2.txt t3.txt test
    

8.cp命令

将源文件复制到目录文件

  • cp -i filename direction交互式,覆盖前询问

  • cp -n filename direction不覆盖已经存在的文件

  • cp -f filename direction强制复制目录or文件,不管目标文件和目录是否已经存在

  • cp -u filename direction只会在源文件最后修改时间比目的文件新时,或对应的目的文件不存在时,才复制文件

      1.将t1.txt复制到t目录中,若文件存在,会询问是否覆盖;若文件不存在,直接复制	     
      	cp t1.txt t
      2.复制t1整个目录到t2目录下
       	cp -a t1 t2
    

9.touch命令

touch命令,创建文件

	1.创建不存在的文件
		touch test.txt
	2.更新test.txt的时间和test1.txt的时间相同
		touch -r test.txt test1.txt 

10.cat命令

查看文档内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示。常与重定向符号配合使用。

  • cat -b test.txt输出test.txt的内容,并对非空行输出行编号

  • cat -n test.txt输出test.txt的内容,并从1开始为所有行添加行编号

  • cat -s(–squeeze-blank)对连续两行以上的空白行,使用一行的空白行替换

  • cat -E在每行结束时显示$

      1.将test.log的内容与test1.log的内容进行拼接,输出带有编号的内容
      	cat -n test.log test1.log
      2.反向显示
      	tac test2.txt
    

11.nl命令

nl对输出的文件自动加上行号。

  • nl -b a test.txt无论是否为空行,列出行号(类似于cat -n)

  • nl -b t test.txt(默认)空行,不加行号

  • nl -n ln test.txt行号在最左侧显示

  • nl -n rn test.txt行号在最右侧显示

  • nl -n rz test.txt行号在最右侧显示,且加0

  • nl -w 2 test.txt行号的位置

      1.用nl列出test.log的内容
      	 nl test.log
      2.用nl列出test.log的内容,空行也加上行号
      	nl -b a test.log
    

12.more命令

查看文件内容,会显示查看文章的百分比,与cat不同,more可以按页来查看文件内容;空格——向下滚动一屏;=——输出行号;q——退出more

  • more +3 test.txt从第3行开始显示内容
  • more -5 test.txt设置每屏显示5行
  • more +/day3 test.txt从test.txt查找第一个出现"day3"字符串的行,并从该行的前2行开始显示
  • more -c test.txt 从顶部清屏,然后显示
  • more -u test.txt 将文件内容中的下划线去掉
  • more -s test.txt 把连续的多个空行显示为一行

13.less命令

less与more类似,可以查看文件;在less查看文件时,‘/字符串’能向下搜索"字符串";’?字符串’能向上搜索"字符串";[pagedown]——向后翻一页;[pageup]——向前翻一页

  • less -e test.txt当文件显示结束,自动离开
  • less -f test强制打开特殊文件
  • less -N test.txt显示每行的行号
  • less -s test.txt显示连续空行为一行
  • less -m test.txt显示类似与more命令的百分比

14.head命令

查看文件头部内容,默认显示文件前10行内容

  • head -n 20 test.txt 显示文件前20行
  • head -c 20 test.txt 显示文件前20个字节

15.tail命令

查看文件尾部内容,默认显示文件后10行内容

  • tail -n 5 test.txt显示文件最后5行内容
  • tail -c 20 test.txt显示文件最后20个字节

二、文件查找

16.which命令

在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果

  • which pwd 查找文件、命令路径
  • which which用which去找出which

17.whereis命令

查找可执行文件、源代码文件、帮助文件在文件系统中的位置;-b:定位可执行文件;-m:定位帮助文件;-s:定位源代码文件

  • whereis svn将与svn文件相关的文件都查找出来
  • whereis -b svn只将二进制文件查找出来

19.find命令

  • -name按照文件名查找文件

  • -type查找某一类型的文件

  • -print将匹配的文件输出

      1.打印当前目录文件目录列表
      	find . -print
      2.打印当前目录下所有不以.txt结尾的文件名
      	find . ! -name "*.txt"
      3.打印当前目录下所有不以.txt结尾的文件名
      	find . -type f -name "*.php" -perm 777
    

三、文件打包上传和下载

20.tar命令

用来压缩和解压文件的。本身不具有压缩功能,用来调用压缩功能实现的。

压缩:

  • -c:建立新的压缩文件;
  • -v:显示操作过程;
  • -f:指定压缩文件;

解压:

  • -x:从压缩文件中提取文件;

  • -z:支持gzip解压文件;

  • -j:支持bzip2解压文件;

      1.仅打包,不压缩
      	tar -cvf test.tar test.log
      2.打包后,以gzip压缩
      	tar -zcvf test.tar.gz test.log
      3.打包后,以bzig2压缩
      	tar -zcvf test.tar.bz2 test.log
      4.将tar包解压缩
      	tar -xvf test.tar
      	tar -zxvf test.tar.gz
      	tar -jxvf test.tar.bz2 
    

21.gzip命令

使用广泛的压缩命令,经过gzip压缩后,其名臣后出现".gz"扩展名

  • gzip test.txt压缩test.txt文件为.gz文件
  • gzip -d test.gz解压缩
  • gzip -f test.txt强行压缩文件

四、文件权限设置

22.chmod命令

用于修改linux系统文件或目录的访问权限

权限范围:

  • u:(user)该文件的拥有者
  • g:(group)与该文件的拥有者属于同一个群体者
  • o:(others)其他以外所有人
  • a:(all)所有用户和群组

权限代号:

  • r:读权限,用4表示

  • w:写权限,用2表示

  • x:执行权限,用1表示

  • -:删除权限

  • +:增加权限

  • =:唯一设定权限

      1.给test.log所有用户和群组添加执行权限
      	chmod a+x test.log
      2.删除所有用户的可执行权限
      	chmod a-x test.log
      3.显示文件的权限变化,给t1.tar的群组添加写权限
      	chmod -c g+x t1.tar
      4.将文件test设置成和test.log相同的权限
    
      	chmod --reference=test.log test
    

五、磁盘存储

23.df命令

  • -a 全部文件系统列表
  • -h 方便阅读方式显示
  • -H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
  • -i 显示inode信息
  • -k 区块为1024字节
  • -l 只显示本地文件系统
  • -m 区块为1048576字节
  • --no-sync 忽略 sync 命令
  • -P 输出格式为POSIX
  • --sync 在取得磁盘信息前,先执行sync命令
  • -T 文件系统类型

六、性能监控和优化命令

24.top命令

显示当前系统正在执行的进程信息,包括进程ID、内存占用率、CPU占用率

25.free命令

显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。

	1.显示内存情况
		free
		free -g #以GB为单位
		free -m #以MB为单位

26.iostat命令

通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。

27.lsof命令

用于查看你进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP)

七、网络命令

28.ifconfig命令

ifconfig 命令用来查看和配置网络设备。

  • up 启动指定网络设备/网卡

  • down 关闭指定网络设备/网卡。

  • arp 设置指定网卡是否支持ARP协议

  • -a 显示全部接口信息

  • -s 显示摘要信息(类似于 netstat -i)

  • add 给指定网卡配置IPv6地址

  • del 删除指定网卡的IPv6地址

      1.启动关闭指定网卡
      	ifconfig eth0 up
      	ifconfig eht1 down
      2.用ifconfig修改mac地址
      	ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
    

29.route命令

route命令用于操作基于内核ip路由表,它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口,如eth0。

  • -c 显示更多信息
  • -n 不解析名字
  • -v 显示详细的处理信息
  • -F 显示发送信息
  • -C 显示路由缓存
  • -f 清除所有网关入口的路由表。
  • -p 与 add 命令一起使用时使路由具有永久性。
  • add:添加一条新路由。
  • del:删除一条路由。
  • -net:目标地址是一个网络。
  • -host:目标地址是一个主机。
  • netmask:当添加一个网络路由时,需要使用网络掩码。
  • gw:路由数据包通过网关。注意,你指定的网关必须能够达到。
  • metric:设置路由跳数。
    1.显示当前路由
    route
    route -n
    2.添加网关/设置网关
    route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

30.ping命令

确定网络和各外部主机的状态;跟踪和隔离硬件和软件问题;测试、评估和管理网络。

**ping [参数] [主机名或IP地址]**
	ping -b 192.168.120.1

31.netstat命令

用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

列出所有端口
	netstat -a

31.netstat命令

执行telnet指令开启终端机阶段作业,并登入远端主机.

	telnet [参数] [主机]

以上是关于Linux命令复盘的主要内容,如果未能解决你的问题,请参考以下文章

linux命令结尾加斜杠与不加斜杠的区别

Linux管理文件命令-tail查看文件结尾的内容

linux命令结尾加正斜杠与不正加斜杠的区别

Linux中从后台启动进程,应在命令结尾处加上啥符号

[Linux]-Linux常用命令之文件解压

linux中列出所有文件名以某个字符结尾的文件用啥命令