【Linux 常用命令】

来自Wikioe
Eijux讨论 | 贡献2021年5月29日 (六) 20:17的版本 →‎常用命令
跳到导航 跳到搜索


常用命令

  • “tab”键:双击命令提示,单机补全(当前目录下有的)文件名称。

压缩/解压

Linux 下常见的压缩包格式有 5 种: zip、tar.gz、tar.bz2、tar.xz、tar.Z;

  • 其中:tar 是种打包格式,gz / bz2 后缀才是指代压缩方式(gzip / bzip2);

支持的格式

格式 命令
常用格式
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
  • 注意:tar 是打包,不是压缩
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz.tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
.tar.bz
解压:tar jxvf FileName.tar.bz
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
  • 注意:“Z”是大写;
其他格式
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -

tar 常用参数说明

参数 描述
操作类型 -c 建立压缩档案
-x 解压
-t 查看内容
# 查看test包中有哪些文件,但不解压
tar -tvf test.tar
-r 向压缩归档文件末尾追加文件
# 在test.tar包中增加文件
tar -rf test.tar testfile
  • 只针对tar包
-u 更新原压缩包中的文件
# 更新压缩包中的test文件
tar -uf test.tar --add-file=test
文件格式 -z 有 gzip 属性的(gzip 格式,以“.tar.gz”/“.tgz”为扩展名)
-j 有 bzip2 属性的(以“.tar.bz2”/“.tar.bz”为扩展名)
-Z 有 compress 属性的(以“.Z”为扩展名)
其他参数 -v 显示详细过程
-f 指定档案名字
  • 这个参数是必须的
  • 这个参数必须是最后一个参数,后面只能接档案名。
-O 将文件解开到标准输出
可选参数
--add-file 向包中添加文件
# 更新压缩包中的test文件
tar -uf test.tar --add-file=test
  • 只针对tar包
--delete 删除包中文件
# 从test.tar中删除test1文件
tar --delete -f test.tar test1
--exclude 排除文件
#打包test目录下所有文件,排除以.log结尾的文件
tar -zcvf test.tar.gz --exclude=test/*.log test/*
--remove-files 移除源文件
# 压缩后删除源文件
tar -zcvf test.tar.gz test.log --remove-files
--strip-components 去除目录
# 解压时去掉一层目录
tar -xvf test.tar.gz --strip-components=1
  • 关于 tar 的详细命令可以使用以下命令获取:
    tar --help
    
  • 事实上, 从 1.15 版本开始 tar 解压时可以自动识别压缩的格式,故不需人为区分压缩格式就能正确解压:
    tar -xvf filename.tar.gz
    tar -xvf filename.tar.bz2
    tar -xvf filename.tar.xz
    tar -xvf filename.tar.Z
    

zip/unzip

参数 描述
操作类型 -c 建立压缩档案

其他命令

命令 说明
start X 进入图形界面
shutdown -h now 立即关机
  1. poweroff 关机(poweroff -f 强制关机)
shutdown -r now 立即重启
logout 注销
man 命令 显示命令的用法
history 显示命令历史记录
  1. history 5:显示最近使用的5个历史命令

执行历史命令:

  1. !5:执行历史编号为5的命令
  2. !ls:执行最后一次以ls开头的命令
env 显示当前系统的环境变量


超级管理员

当前用户下使用超级管理员(root):

su - root

关机

  1. shutdown -h now
  2. poweroff

Note:

  1. 用poweroff,三个机器(问题与系统无关,centos、Debian、suse)都出现了
    “System has not been booted with systemd as init system (PID 1). Can't operate.”
    
    需要“sudo poweroff -f”才能关键

清屏

在windows的DOS操作界面里面,清屏的命令是cls,那么在linux 里面的清屏命令是什么呢?

  1. clear:这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。
  2. Ctrl+l(小写的L):这是一个清屏的快捷键,工作中用得最多的一种清屏方式。【效果同 clear】。
  3. reset:这个命令将完全刷新终端屏幕,之前的终端输入操作信息将都会被清空,这样虽然比较清爽,但整个命令过程速度有点慢,使用较少。
    • 值得一提的是 reset 命令在你的终端控制错乱时非常有用。
      如:“输入字符不出现在光标的位置的情况。还有当你敲击回车键时,新提示符并没有出现在新行上,而是出现在老提示符的前面”。此时reset命令就能用来修正这些问题。
  4. printf "\033c":这个命令它才是真正的清空了终端屏幕,它的功能跟 DOS 里 CMD.EXE 提供的 CLS 效果很相似。

关于“printf "\033c"”

这个命令究竟是做什么的?它的工作原理是什么?

	\033 == \x1B == 27 == ESC

即这个命令变成了 <ESC>c,它是 VT-XXX 中表示“Full Reset (RIS)”的转义码。
它的另一种实现方式也可以这样:

键盘上:“Ctrl+v--->Esc-->输入c再回加”。
  1. (现今我们使用的所有的终端都是VT兼容的)
  2. 但如果你发现自己使用的是一个非常奇怪的终端(如putty),那这个命令可能用不了。
  • printf 是 bash 里内置的命令,内置命令的优先级比其它可执行文件要高。

为命令设置快捷方式

在 PATH 路径下,如 /usr/bin/ 目录下。新建一个名为 cls 的文件,加上执行权限,写入如入内容:

[root@iZbp168 bin]# vim cls
#!/bin/bash
#
printf "\033c"

这样每次需要清屏的时候,只需要输入cls命令就可以了。