美文网首页
Linux命令

Linux命令

作者: 风之老爸 | 来源:发表于2019-08-07 15:43 被阅读0次

    基础命令

    cat :查看文本文件内容

    ls : 查看目录内容

    pwd : 输出当前所在的位置

    cd : 切换路径的操作

    mkdir : 创建目录

    touch : 创建文本文件

    hostname :查看主机名

    ifconfig :查看IP地址

    Ctrl + c :结束正在运行的命令

    sudo apt-get install openssh-server : 用于实现远程管理的软件

    lscpu : 查看CPU信息

    nameserver : DNS服务器地址

    bc : 计算器

    date : 显示日期和时间

    date +%F : 显示年-月-日

    date +%Y : 显示年

    • Linux命令行完整格式

      命令字 选项 参数

      • 命令字:指定操作
      • 选项:功能不同,决定执行后的结果不同
      • 参数:命令作用的对象

    命令以及选项

    ls

    ls -l:以长格式显示,显示详细信息
    ls -h:结合-l选项以长格式显示,显示易读的容量单位
    ls -A:显示目录所有内容,包括隐藏数据
    ls -a:小写的a会匹配出 . .. 在正则匹配中会出错
    ls -d:显示目录本身的详细属性,结合-l选项
    

    cp

    cp 格式: cp   选项     源数据    目标路径
                                -r:递归,目录本身以及目录下所有
    
    • 两个参数以上,永远将最后一个参数作为目标,其余所有的参数均作为源
    tarena@aid:/$ sudo cp -r /etc/shadow /etc/lsb-release /opt/
                                                     # 源                    源                               目标
    
    • . :代表当前路径 经常与cp连用,将数据复制到当前目录下
    tarena@aid:/$ sudo cp /etc/passwd .
    
    • 复制时,可以重新命名目标路径下的名称
    tarena@aid:/$ sudo cp /etc/lsb-release /opt/ubuntu
    # 复制后文件重命名为ubuntu
    tarena@aid:/$ sudo cp -r /boot/ /opt/abc
    # 复制后目录重命名为abc
    
    • 面试题:两次复制的不同:
    tarena@aid:/$ sudo cp -r /boot/ /test/abc
                         # 复制/boot目录到/test目录下重新命名为abc
    
    tarena@aid:/$ sudo cp -r /boot/ /test/abc
                         # 复制/boot目录到/test/abc目录下
    

    mv

    mv 格式:                   mv   # 源数据   目标路径
    tarena@aid:/$ sudo mv /opt/a.txt /opt/stu/
    
    • 重命名:路径不变的移动
    tarena@aid:/$ sudo mv /opt/stu/ /opt/1903
    # 将stu重命名为1903
    

    grep

    grep: 可以从文本文件内容中,过滤包含指定字符串的行
    tarena@aid:/$ grep root /etc/passwd     # 包含root的行
    tarena@aid:/$ grep ^root /etc/passwd    # 必须要以root开头
    tarena@aid:/$ grep bash$ /etc/passwd    # 必须要以bash结尾
    

    find

    find: 在指定路径下查找符合条件的数据
                 -name:按照名字去查找,支持通配符
                 -type:按照类型去查找,d(目录) f(文本文件)
                 -size:按照大小去查找
    find格式: find    路径  条件
    
    tarena@aid:/$ sudo find /etc/ -name "passwd"
    tarena@aid:/$ sudo find /etc/ -name "*tab"
    
    tarena@aid:/$ sudo find /root/ -type   f     #查找是文件
    tarena@aid:/$ sudo find /boot/ -type   d     #查找是目录
    
    tarena@aid:/$ sudo   find  /boot/   -size  +10M   #查找大于10M
    tarena@aid:/$ sudo   find  /boot/   -size  -10M   #查找小于10M
    

    cat

    cat -n:显示行号
    

    head tail

    -x:x为数字,指行数
    head -5:显示文本前5行
    tail -5:显示文本后5行
    tail -f:动态看后n行
    

    rm

    rm -r:递归,目录本身以及目录下所有
    rm -f:强制删除
    

    mkdir

    mkdir -p:连同父目录一同创建
    

    route

    route -n:    # 查看网关地址 *mac用法不一样
    

    wc

    wc -l:      # 统计文本行数
    

    du

    du -sh:     # 统计目录总共的占用空间的大小
    

    /proc : 不占用硬盘的空间,反应内存数据的目录

    mount

    挂载点(访问点):访问设备内容的入口,在Linux都为一个目录

    挂载: mount   设备路径    挂载点目录
    sudo  mount /dev/sda1 /mypart/
    

    由挂载点(访问点)作为入口,进行访问设备内容

    df

    df -h:      # 显示所有正在挂载使用设备的使用情况
    

    ping

    ping -c2     # ping次数,2次
    ping -i1     # ping间隔时间,1秒
    ping -W1     # ping延时,1秒ping不通直接返回
    

    usermod

    usermod        # 用来修改用户帐号的各项设定
     -c<备注>      # 修改用户帐号的备注文字。
     -d<登入目录>   # 修改用户登入时的目录。
     -e<有效期限>  # 修改帐号的有效期限。
     -f<缓冲天数>  # 修改在密码过期后多少天即关闭该帐号。
     -g<群组>     # 修改用户所属的群组。
     -G<群组>     # 修改用户所属的附加群组。
     -l<帐号名称>  # 修改用户帐号名称。
     -L           # 锁定用户密码,使密码无效。
     -s<shell>    # 修改用户登入后所使用的shell。
     -u<uid>      # 修改用户ID。
     -U           # 解除密码锁定。linuxso.com linux安全网
    

    命令别名

    alias

    tarena@aid:/$ alias hn='hostname'        # 定义别名
    tarena@aid:/$ unalias hn                 # 删除别名
    tarena@aid:/$ alias                      # 查看当前系统所有生效的别名
    

    常见通配符使用

    * ? [] {}

    /etc/:大多数配置文件所在的目录

    *****:任意多个字符
    ?:单个字符
    []:匹配连续范围,只匹配一位
    {}:匹配多种不同的情况

    tarena@aid:/$ ls   /etc/*tab
    tarena@aid:/$ ls   /etc/*.conf
    tarena@aid:/$ ls   /etc/r*.conf
    tarena@aid:/$ ls   /dev/tty*
    
    tarena@aid:/$ ls   /dev/tty?
    tarena@aid:/$ ls   /dev/tty??
    tarena@aid:/$ ls   /dev/tty???
    
    tarena@aid:/$ ls    /dev/tty[0-9]    # 只个位
    tarena@aid:/$ ls    /dev/tty1[0-9]   # 十位需要手动补全,然后匹配个位
    
    tarena@aid:/$ ls   /dev/tty{1,3,5,7,9}
    tarena@aid:/$ ls    /dev/tty{1[0-9],20} # 匹配10到20
    

    命令行技巧

    Tab

    • Tab补全:命令字 选项 路径

    重定向命令的输出 > >>

    • 重定向命令的输出: 将前面命令的输出,写入到文本文件中
     >:覆盖重定向
                tarena@aid:/$ hostname > /home/tarena/ls.txt
    >>:追加重定向
                tarena@aid:/$ hostname >> /home/tarena/ls.txt # 追加到文件末尾
                tarena@aid:/$ echo 123456 >> /home/tarena/ls.txt # 123456追加到文件末尾
    

    管道操作

    • 管道操作 | : 将前面命令的输出,专递给后面命令,作为后面命令的参数
    tarena@tedu:~$ head -12 /etc/passwd | tail -5 | cat -n
    # 显示passwd文件的8-12行且显示行号(从1开始编号)
    tarena@tedu:~$ cat -n /etc/passwd | head -12 | tail -5
    # 显示passwd文件的8-12行且显示行号(从8开始编号)
    
    tarena@tedu:~$ echo 3*8 | bc
    # 非交互式计算
    

    快捷键

    • Ctrl + l:清空整个屏幕
    • Ctrl + c:废弃当前编辑的命令行(结束正在运行的命令)
    • Esc + . 或 Alt + . :粘贴上一个命令的参数

    VI&VIM

    • 命令模式
      • i 键:在当前位置插入(Esc键回到命令模式)
      • o键:新起一行插入(Esc键回到命令模式)
      • :键 ----》末行模式(Esc键回到命令模式)
      • 光标的跳转:
        行首:^或home
        行尾:$或end
        全文的首行:gg 或 1G
        全文的最后一行:G
        全文的12行:12G
      • 复制粘贴删除
        yy:复制光标所在的当前行 2yy复制两行内容
        p :粘贴
        dd:删除光标所在的当前行 3dd删除三行内容
        u :撤销
        /bin: 全文查找bin 按n向下跳转匹配 按N向上跳转匹配
    • 插入模式(输入模式)
    • 末行模式
      • :wq # 保存并退出
      • :w # 保存
      • :q! # 强制不保存退出
      • :set nu # 开启行号功能
      • :set ai # 开启自动缩进功能
    sudo vim /home/tarena/haha.txt
    # 没有文件会自动新建,目录必须有,不会新建
    

    压缩包tar与zip

    • 压缩与归档

      归档:将众多的数据,归档整理成一个文件

      压缩:采用压缩算法,计算数据占用空间大小

    • Linux平台的压缩格式:

      gzip---->.gz
      bzip2---->.bz2
      xz----->.xz

    • 制作tar

      格式:tar  选项  /路径/压缩包的名字(多个路径)    被压缩的源数据(只有最后一个)
      -c:创建归档
      -x:释放归档
      -f:指定归档文件名称,必须在所有选项的最后
      -z、-j、-J:调用 .gz、.bz2、.xz格式的工具进行处理
      -t:显示归档中的文件清单
      -C:指定释放路径
      解包:
      格式:tar  选项   /路径/tar包的名字    -C   释放的位置
               tar  -xf   /opt/abc.tar.bz2    -C  /aid01
      
      e.g.
      tar     -zcf    /opt/aid.tar.gz     /boot/  /etc/lsb-release
      tar   -jcf  /opt/abc.tar.bz2  /boot/  /etc/lsb-release
      tar   -Jcf  /opt/file.tar.xz  /boot/  /etc/lsb-release
      tar   -tf   /opt/abc.tar.bz2        # 查看压缩包内容
      
    • zip跨平台的压缩格式(windows与Linux)

      格式:zip      -r      /路径/压缩包名字       被压缩的源数据
      sudo zip    -r    /opt/stu.zip       /boot/    /etc/lsb-release
      解压:
      unzip    被压缩的源数据     -d      /路径/解压文件名字
      unzip    /opt/stu.zip     -d      /aid03/
      

    用户与组

    • 用户与组

      UID系统用户:1.登录操作系统 2.权限不同

      GID组:方便管理用户

      组分类:基本组 附加组

      一个用户必须至少属于 一个组

      创建用户时,系统自动创建同名组,将用户加入组

      e.g.
      useradd aid01
      创建同名组:  aid01组      将aid01用户加入到aid01组
      自行创建组:  财务组  销售组  帅哥组   美女组     将aid01用户加入
      
      总结:
      aid01用户一共属于5各组:aid01组  财务组  销售组  帅哥组   美女组
                                               aid01组为aid01用户的基本组
                                       财务组  销售组  帅哥组   美女组为aid01用户的 附加组
      
    • 创建用户:adduser useradd

      sudo adduser aid02         #交互式创建
      sudo useradd  -m  aid03    #非交互式创建
                                  -m:创建用户的家目录
      id  aid02                        # 查询存在用户的信息
      

      用户家目录:存放用户个性化信息的目录

      管理员root的家目录:/root

      存放 所有普通用户的家目录:/home

      ~:表示家目录

      /etc/passwd:存放所有用户信息的配置文件

      tail -1 /etc/passwd
      aid04:x:1003:1003::/home/aid04:/bin/sh
      用户名:密码占位符:UID:基本组GID:用户描述:家目录:解释器程序
      

      /etc/shadow:存放密码信息的配置文件

      sudo grep   aid   /etc/shadow
      
    • 设置用户密码

      • 交互式设置密码:sudo passwd 用户名
      • 非交互式设置密码:echo 用户名:密码 | sudo chpasswd
    • 删除用户

      userdel
      -r:递归删除,删除用户的家目录以及用户的邮件文件
      
    • 组管理

      sudo  groupadd   tedu              #创建组账号
      
      组信息存放的配置文件:/etc/group
      tedu:x:1005:
      组名:密码占位符:GID:组的成员列表
      
      sudo   gpasswd   -a   tom      tedu    #添加组成员
                                                  成员          组名
      sudo   gpasswd   -d   aid04    tedu   #删除组成员
      
      组的删除:groupdel  组名
      sudo   groupdel   tedu
      

    权限和归属

    以-开头为文本文件
    以d开头为目录

    • 基本权限:

      r:读入权限

      w:写入权限

      x:执行权限

    • 文本文件:

      r:cat head tail

      w:vim > >>

      x:Shell脚本 Python脚本

    • 归属关系:

      所有者(属主):数据创建者

      所属组(属组):所有者的基本组

      其他人:除了所有者与所属组成员其余的用户

    • Linux判断用户具备的权限:

      1.判断用户对于该数据所处的身份 所有者>所属组>其他人 # 匹配即停止

      2.查看相应身份权限位置表示

    • 命令行临时切换用户身份: su - 用户

    • 增、减权限:

      chmod   o+w   /aid10/1.txt      # 为其他人加上w权限
      chmod   o-w   /aid10/1.txt      # 为其他人减去w权限
      
    • 目录权限管理:

      r:显示目录内容

      w:可以在此目录下新建 删除 复制 移动.... 子文件或子目录

      x:用户切换到该目录

    • 归属关系的修改:

      chown       所有者:所属组     参数  
      chown     harry:study    /aid11
      chown     root               /aid11     # 仅修改所有者
      chown     :tarena        /aid11     # 仅修改所属组
      

    进程管理

    程序:静态的代码 占用硬盘空间

    进程:动态执行的代码 占用CPU 与 内存

    • 查看进程:

      systemd:所有进程父进程,上帝进程(mac没有这些命令)

      pstree :结构非常优秀

      -p:进程的PID

      ps aux :正在运行的所有进程详细信息

      top:动态的排名

      按P(大写)进行CPU排序

      按M(大写)进行内存排序

      mac:top

      先输入 o,然后输入 cpu 则按 cpu 使用量排序,输入 rsize 则按内存使用量排序。

    • 进程前后台调度:

      • 后台启动
      – 在命令行末尾添加“&”符号,不占用当前终端
      • Ctrl + z 组合键
      – 挂起当前进程(暂停并转入后台)
      • jobs 命令
      – 查看后台任务列表
      • fg 命令
      – 将后台任务恢复到前台运行
      • bg 命令
      – 激活后台被挂起的任务
      
    • 杀死进程:

      kill:结合PID进行杀死,     支持 -9选项  强制杀
      killall:结合进程名进行杀死, 支持 -9选项  强制杀
      pkill:模糊进行匹配进程名
      
      杀死一个用户开启的所有进程:有登录的状态变成未登录
      killall  -9  -u   用户名
      
    • 查看当前系统监听的端口:netstat -anptu

      -a:所有正在监听         
      -n:数字方式显示
      -p:显示协议信息          
      -t:tcp协议
      -u:udp协议
      

    相关文章

      网友评论

          本文标题:Linux命令

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