美文网首页
linux基本命令

linux基本命令

作者: test小星星 | 来源:发表于2019-06-23 22:36 被阅读0次

快捷键

  • 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:远程存放路径 

相关文章

网友评论

      本文标题:linux基本命令

      本文链接:https://www.haomeiwen.com/subject/tyxwqctx.html