Linux常用命令——其他

发布于 2021-03-17  279 次阅读


磁盘管理

ls

list 查看文件信息

参数说明:

  • -a 列出全部文件
  • -l 详细信息(ls -l同 ll)
  • -r 反序排列

cd

切换当前目录

#把上个命令的参数作为cd参数使用。
cd !$

pwd

查看当前工作目录路径

# 查看软链接的实际路径
pwd -P

mkdir

创建文件夹

参数说明:

  • -p 可以建立多级目录

rm

删除文件,通常仍可以将该文件恢复原状

参数说明:

  • -i 删除前逐一询问
  • -r 递归删除
  • -f 强制删除

df

显示磁盘空间使用情况

参数说明:

  • -a 全部文件系统列表
  • -h 以方便阅读的方式显示信息
  • -i 显示inode信息
  • -l 只显示本地磁盘
  • -T 列出文件系统类型

du

显示指定目录或文件的磁盘使用情况

命令格式:

du [选项] [文件]

常用参数:

  • -a 显示目录中所有文件大小
  • -h 以易读方式显示文件大小
  • -s 仅显示总计
  • -c 同时显示所有目录或文件的总和
  • --max-depth=<目录层数> 指定统计层数

free

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

参数说明:

  • -s<间隔秒数> 持续显示内存
  • -t 显示内存使用总合
  • -h 以易读方式显示文件大小

mount

命令格式:

mount [参数] 被挂载目录 挂载目录

网络通讯

lsof

lsof(list open files)是一个列出当前系统打开文件的工具。

参数说明:

  • -a 列出打开文件存在的进程
  • -c<进程名> 列出指定进程所打开的文件
  • -g 列出GID号进程详情
  • -d<文件号> 列出占用该文件号的进程
  • +d<目录> 列出目录下被打开的文件
  • +D<目录> 递归列出目录下被打开的文件
  • -n<目录> 列出使用NFS的文件
  • -i<条件> 列出符合条件的进程。(4、6、协议、:端口、 @ip )
  • -p<进程号> 列出指定进程号所打开的文件
  • -u 列出UID号进程详情
  • -h 显示帮助信息
  • -v 显示版本信息
# lsof 查看端口占用语法格式:
lsof -i:端口号

netstat

用于显示 tcp,udp 的端口和进程等相关情况

参数说明:

  • -t (tcp) 仅显示tcp相关选项
  • -u (udp)仅显示udp相关选项
  • -n 拒绝显示别名,能显示数字的全部转化为数字
  • -l 仅列出在Listen(监听)的服务状态
  • -p 显示建立相关链接的程序名

压缩

tar

压缩和解压文件

tar 本身不具有压缩功能,只具有打包功能,有关压缩及解压是调用其它的功能来完成

参数说明:

  • -c 建立新的压缩文件
  • -f 指定压缩文件
  • -r 添加文件到已经压缩文件包中
  • -x 从压缩包中抽取文件
  • -t 显示压缩文件中的内容
  • -z 支持gzip压缩
  • -j 支持bzip2压缩
  • -v 显示操作过程
  • -C 指定目录
  • -exclude 排除文件
# 将test.log打包成 log.tar
tar -cvf log.tar test.log
# 将/etc下的所有文件及目录打包到/tmp目录,并使用 gz 压缩
tar -zcvf /tmp/test.tar.gz /etc
# 查看刚打包的文件内容(一定加z,因为是使用 gzip 压缩的)
tar -ztvf /tmp/test.tar.gz
# 要压缩打包 /home, /etc ,但不要 /home/dmtsai
tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

gzip

压缩和解压文件

参数说明:

  • -d 解开压缩文件
  • -v 显示操作过程
  • -c 把压缩后的文件输出到标准输出设备,不更改原始文件

注意:

  • 压缩完原文件会消失
  • 解压完压缩文件会消失
# 压缩a.txt文件
gzip a.txt
#解压 a.txt.gz
gzip -dv a.txt.gz

其他

nohub

no hang up(不挂起),在系统后台不挂断地运行命令,退出终端不会影响程序

命令格式:

nohub command [&]

注意:在默认情况下(非重定向时),会输出 nohup.out 文件到当前目录,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

nohub与&的区别

使用&运行程序:

  • 结果会输出到终端
  • 使用Ctrl + C发送SIGINT信号,程序免疫
  • 关闭session发送SIGHUP信号,程序关闭

使用nohup运行程序:

  • 结果默认会输出到nohup.out
  • 使用Ctrl + C发送SIGINT信号,程序关闭
  • 关闭session发送SIGHUP信号,程序免疫

Source

当前bash环境下读取并执行FileName中的命令

命令格式:

source FileName

注意:该命令通常用命令.来替代

# source(或点)命令通常用于重新执行刚修改的配置文档,使之生效
source filename 
# 中间有空格
. filename

说明:

  • source命令(从 C Shell 而来)是bash shell的内置命令

  • 点命令(从Bourne Shell而来)是source的另一名称

  • 该命令也可以用来执行脚本

source与./ 执行脚本的区别

  • ./filename 重新创建一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell
  • source filename 读取脚本的语句依次在当前shell里执行,没有创建新的子shell

date

显示或设定系统的日期与时间

参数说明:

  • -d<字符串>  显示字符串所指的日期与时间 字符串前后必须加上双引号
  • -s<字符串>  根据字符串来设置日期与时间 字符串前后必须加上双引号
  • -u  显示GMT(格林尼治时间)
  • %H 小时(00-23)
  • %I 小时(00-12)
  • %M 分钟(以00-59来表示)
  • %s 总秒数
  • %S 秒(以本地的惯用法来表示)
  • %a 星期的缩写
  • %A 星期的完整名称
  • %d 日期(以01-31来表示)
  • %D 日期(含年月日)
  • %m 月份(以01-12来表示)
  • %y 年份(以00-99来表示)
  • %Y 年份(以四位数来表示)
# 昨天
date -d "yesterday" +%Y%m%d