Linux常用命令
基本操作
- 创建目录:
mkdir xxx
- 删除目录:
rm -rf xxx
- 切换目录:
cd xxx
,返回:cd -
- 创建文件:
touch xxx.txt
- 复制文件:
cp xxx.txt newxxx.txt
- 查看文件:
cat xxx.txt
,最后5行:cat xxx.txt | tail -n 5
压缩解压
- zip加密:
zip -r xxx.zip ./* -P "123"
,解密:unzip -P "123" xxx.zip
-A 调整可执行的自动解压缩文件。
-b<工作目录> 指定暂时存放文件的目录。
-c 替每个被压缩的文件加上注释。
-d 从压缩文件内删除指定的文件。
-D 压缩文件内不建立目录名称。
-f 更新现有的文件。
-F 尝试修复已损坏的压缩文件。
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-h 在线帮助。
-i<范本样式> 只压缩符合条件的文件。
-j 只保存文件名称及其内容,而不存放任何目录名称。
-J 删除压缩文件前面不必要的数据。
-k 使用MS-DOS兼容格式的文件名称。
-l 压缩文件时,把LF字符置换成LF+CR字符。
-ll 压缩文件时,把LF+CR字符置换成LF字符。
-L 显示版权信息。
-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n<字尾字符串> 不压缩具有特定字尾字符串的文件。
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-q 不显示指令执行过程。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-S 包含系统和隐藏文件。
-t<日期时间> 把压缩文件的日期设成指定的日期。
-T 检查备份文件内的每个文件是否正确无误。
-u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v 显示指令执行过程或显示版本信息。
-V 保存VMS操作系统的文件属性。
-w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
-x<范本样式> 压缩时排除符合条件的文件。
-X 不保存额外的文件属性。
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
-z 替压缩文件加上注释。
-$ 保存第一个被压缩文件所在磁盘的卷册名称。
-<压缩效率> 压缩效率是一个介于1-9的数值。
- tar压缩:
tar -zcvf xxx.tar.gz ./*
,tar解压:tar -zxvf xxx.tar.gz
c: 创建文档
t: 列出存档内容
x: 提取存档
f: filename 要操作的文档名
v: 详细信息
过滤、管道与重定向
- 文件内容查找
#过滤出文件 /etc/passwd 中包含 `root` 的记录
grep 'root' /etc/passwd
#过滤出目录 /var/log/ 目录中包含linux的记录(递归查找)
grep -r 'linux' /var/log/
- 输出过滤
#打印/etc/passwd 文件中包含 `root` 的记录
cat /etc/passwd \| grep 'root'
- 输出重定向
#输出重定向到一个文件中
echo 'Hello World' > test.txt
运维命令
- 测试网络
#发送 4 个 ping 包, 检查与其是否联通
ping -c 4 cloud.tencent.com
- 端口查询
#列出所有处于监听状态的tcp端口
netstat -lt
#查看所有的端口信息, 包括 PID 和进程名称
netstat -tulpn
- 进程操作
#查询运行的进程
ps -elf
#过滤查询进程
ps aux | grep 'ssh'
#动态显示运行的进程(动态表格)
top
#杀进程
killall -9 xxxx
日期时间
获取系统时间:date
,输入格式:Tue Sep 14 11:05:51 CST 2021
其中CST表示上海时区,如果是UTC,则表示伦敦时区。如果想设置系统时区位东八区(北京时间),则运行以下命令:
#当前UTC时间减8小时
cstTimeStr=$(date '+%Y-%m-%d %H:%M:%S' -d@$(($(date +%s)-60*60*8)))
date -s "$cstTimeStr"
#拷贝时区文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date命令用法:%Y表示年,%m表示月,%d表示日,%H表示小时,%M表示分钟,%S表示秒,%s表示从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数。
#显示时间
date "+cur time: %Y-%m-%d %H:%M:%S"
#显示计算之后的时间
date "+cur time: %Y-%m-%d %H:%M:%S" -d "-3 hour"
#时间戳
date +%s
#设置时间
date -s "2050-09-01 01:05:30"