快捷键
-
tab
自动补全 -
ctrl + u
删除当前光标处之前的所有字符内容 -
ctrl + k
删除当前光标处到尾行的所有字符内容 -
ctrl + L
清空当前屏幕显示的内容 -
ctrl + c
取消当前命令行的编辑
目录操作命令
-
pwd
查看当前的工作目录 -
cd
切换工作目录 -
~
当前用户家目录 -
ls
显示目录内容# 参数 -l 显示文件和目录的列表,包括全线、大小、最后更新时间等详细信息 -a 显示所有的目录和文件信息,包括隐藏内容 -d 显示目录(Directory)本身的属性,而不是显示目录中的内容 -R 以递归的方式显示指定目录及其子目录中的所有内容
-
du
统计指定目录或文件所占磁盘空间的大小,使用目录或文件的名称作为参数#参数 -a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 -h 更友好的显示统计结果,将显示K、M、G单位 -s 只统计每个参数所占用总空间的大小 $ du -hs projects/ 118M projects/
文件操作命令
-
touch
创建空文件,# 格式 touch 文件名1 文件名2
-
file
查看文件类型# 格式 file 文件名称
-
cp
复制文件或目录# 格式 cp 源文件或目录 目标文件或目录 cp /home/test /usr/test # 参数 -f 覆盖目标同名文件或目录时不进行提醒,直接强制复制 -i 覆盖目标同名文件或目录提醒用户确认 -p 复制时保持源文件的权限、属主及时间标记等属性不变 -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
-
rm
删除目录或文件# 格式 rm 文件名 # 参数 -f 删除文件或目录时不进行提醒,直接强制删除 -i 删除文件或目录时提醒用户确认 -r 删除目录时必须使用此项,表示递归删除整个目录树
-
mv
移动文件或目录# 格式 mv 源文件或目录 目标文件或目录
-
which
查看liunx命令文件并显示所在的位置>which cp /bin/cp
-
find
查找文件或目录# 格式 find [查找范围] [查找条件表达式] -name 按名称查找 - size 按文件大小查找,一般使用 + - 设置超过或小于指定文件的大小k、m、g -user 按文件属主查找 -type 按文件类型查找 # 查找所有的目录 find /home -type d # 查找超过1024KB而且文件名以test开头的文件 find /home -size +1024k -a -name "test*"
-
ln
为文件或目录建立链接# 格式 ln [源文件或目录][目标文件或目录] 硬链接 ln -s [源文件或目录][目标文件或目录] 软链接 软链接: 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式 2.软链接可以 跨文件系统 ,硬链接不可以 3.软链接可以对一个不存在的文件名进行链接 4.软链接可以对目录进行链接 5.删除源文件软链接文件也没有了 硬链接: 1.硬链接,以文件副本的形式存在。但不占用实际空间。 2.不允许给目录创建硬链接 3.硬链接只有在同一个文件系统中才能创建 4.删除源文件硬链接文件还存在 参数: -b 删除,覆盖以前建立的链接 -d 允许超级用户制作目录的硬链接 -f 强制执行 -i 交互模式,文件存在则提示用户是否覆盖 -n 把符号链接视为一般目录 -s 软链接(符号链接) -v 显示详细的处理过程
文件内容操作命令
-
cat
查看文件内容 -
nl
查看文件内容并显示行号 -
less
分页显示文件内容Enter 逐行向下滚动 空格键向下翻一屏 b键向上翻一屏 q键退出
-
head
查看文件开头-n 指定需要显示的行数 默认显示10行
-
tail
查看文件末尾,一般用来查看日志-f 用于实时跟踪日志文件末尾的内容变化
-
wc
统计文件内容中的数量等信息,支持管道# 格式 wc [参数] 文件名 # 参数 -w 仅列出多少字(英文单字) -l 统计文件内容中的行数 -w 统计文件内容中的单词个数
归档及压缩命令
-
gzip
用于创压缩或者解压".gz"文件# 格式 gzip [参数] 文件名 gunzip 文件名 # 解压专用命令 # 参数 -9 提高压缩比率 -d 解压文件
-
bzip2
用于创压缩或者解压".bz2"文件# 格式 bzip2 [参数] 文件名 bunzip2 文件名 # 解压专用命令 # 参数 -9 提高压缩比率 -d 解压文件
-
tar
制作归档文件或者解压文件# 制作归档及压缩包/文件 tar [参数] 压缩包名 需要压缩的源文件或目录 # 解压并释放归档压缩包文件 tar [参数] 压缩包名 -C 解压到目标目录 # 参数 -c 创建.tar格式的包 -C 解包时指定释放的目标文件夹 -f 表示使用归档文件 -j 调用bzip2程序进行压缩或解压 -p 打包时暴力文件及目录的权限 -t 列表查看包内的文件 -v 输出详细信息 -x 解开.tar格式的包文件 -z 调用gzip程序进行压缩或解压
排序命令
-
sort
排序# 格式 sort [参数] [文件 or 标准输入] 选项与参数: -f :忽略大小写的差异,例如 A 与 a 视为编码相同; -b :忽略最前面的空白字符部分; -M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法; -n :使用“纯数字”进行排序(默认是以文字体态来排序的); -r :反向排序; -u :就是 uniq ,相同的数据中,仅出现一行代表; -t :分隔符号,默认是用 [tab] 键来分隔; -k :以那个区间 (field) 来进行排序的意思 # 示例 $ cat /etc/passwd | sort sort 是默认“以第一个”数据来排序, 而且默认是以“文字”型态来排序的,所以由 a 开始排到最后 # /etc/passwd 内容是以 : 来分隔的,我想以第三栏并以数字形态来排序,该如何? $ cat /etc/passwd | sort -t ':' -k 3 -n
-
uniq
去重, 将重复的数据仅列出一个显示# 格式 uniq [参数] 选项与参数: -i :忽略大小写字符的不同; -c :进行计数 # 使用 last 将帐号列出,仅取出帐号栏,进行排序,然后取出每个人的登陆总次数 $ last | awk '{print $1}' | sort | uniq -c | sort -n # 统计总登录人数 last | awk '{print $1}' | sort | uniq -c | sort -n | wc -l
网络命令
netstat -tlnp
查看当前网络开放的端口
netstat -tnp
查看连接当前网络的ip
# 一键搭建网站
python2 -m CGIHTTPServer 8000
python3 -m http.server -cgi 8000
根据进程pid查端口:netstat -nap | grep pid
根据端口查pid:netstat -nap | grep port
curl
请求网站地址
jq.
格式化 json数据
nc
高手必备
进程命令
ps
查看进程
ps -l 只能查阅自己 bash 程序的程序
ps aux 可以查阅所有系统运行的程序
ps -l
只能查阅自己 bash 程序的程序
[root@cen65 ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 124563 124561 0 80 0 - 27127 wait pts/2 00:00:00 bash
0 R 0 124666 124563 0 80 0 - 27042 - pts/2 00:00:00 ps
- F:代表这个程序旗标 (process flags),说明这个程序的总结权限,常见号码有:
- 若为 4 表示此程序的权限为 root
- 若为 1 则表示此子程序仅进行复制(fork)而没有实际执行(exec)
- S:代表这个程序的状态 (STAT),主要的状态有:
- R (Running):该程序正在运行中
- S (Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。
- D :不可被唤醒的睡眠状态,通常这支程序可能在等待 I/O 的情况(ex>打印
- T :停止状态(stop),可能是在工作控制(背景暂停)或除错 (traced) 状态
- Z (Zombie):僵尸状态,程序已经终止但却无法被移除至内存外
- UID/PID/PPID:代表“此程序被该 UID 所拥有/程序的 PID 号码/此程序的父程序 PID 号码”
- C:代表 CPU 使用率,单位为百分比;
- PRI/NI:Priority/Nice 的缩写,代表此程序被 CPU 所执行的优先顺序,数值越小代表该程序越快被 CPU 执行。
- ADDR/SZ/WCHAN:都与内存有关,ADDR 是 kernel function,指出该程序在内存的哪个部分,如果是个 running 的程序,一般就会显示“ - ” / SZ 代表此程序用掉多少内存 / WCHAN 表示目前程序是否运行中,同样的, 若为 - 表示正在运行中。
- TTY:登陆者的终端机位置,若为远端登陆则使用动态终端接口 (pts/n);
- TIME:使用掉的 CPU 时间,注意,是此程序实际花费 CPU 运行的时间,而不是系统时间;
- CMD:就是 command 的缩写,造成此程序的触发程序之指令为何。
ps aux
可以查阅所有系统运行的程序
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 23560 2392 ? Ss 09:54 0:00 /sbin/init
root 2 0.0 0.0 0 0 ? S 09:54 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 09:54 0:00 [ksoftirqd/0]
- USER:该 process 属于那个使用者帐号的?
- PID :该 process 的程序识别码。
- %CPU:该 process 使用掉的 CPU 资源百分比
- %MEM:该 process 所占用的实体内存百分比
- VSZ :该 process 使用掉的虚拟内存量 (KBytes)
- RSS :该 process 占用的固定的内存量 (KBytes)
- TTY:该 process 是在那个终端机上面运行,若与终端机无关则显示 ?,另外, tty1-tty6 是本机上面的登陆者程序,若为pts/0 等等的,则表示为由网络连接进主机的程序
- STAT:该程序目前的状态,状态显示与 ps -l 的 S 旗标相同 (R/S/T/Z)
- START:该 process 被触发启动的时间
- TIME :该 process 实际使用 CPU 运行的时间
- COMMAND:该程序的实际指令为何?
top
动态显示进程
# 一秒更新一次
top -d 1
参数
-d 多少秒内统计一次
-n 需要进行几次 top 的输出结果
-p 指定进程PID
P 以 CPU 的使用资源排序显示
M 以 Memory 的使用资源排序显示
N 以 PID 来排序
# 监控进程
for i in {1..20}; do top -d 1 -n 1 -p 进程PID | awk '{print $9 $10}'; done
- PID :每个 process 的 ID 啦
- USER:该 process 所属的使用者
- PR :Priority 的简写,程序的优先执行顺序,越小越早被执行
- NI:Nice 的简写,与 Priority 有关,也是越小越早被执行
- %CPU:CPU 的使用率
- %MEM:内存的使用率
- TIME+:CPU 使用时间的累加
把文件从本地复制到远程 linux(支持内网)
scp -r 本地文件 远程用户名@远程ip:远程存放路径
网友评论