美文网首页
# Linux命令

# Linux命令

作者: 杨健kimyeung | 来源:发表于2020-07-22 10:17 被阅读0次

    主目录

    /

    • 每个文件和目录都从根目录开始。

    • 只有root用户拥有这个目录下的写权限。

    • 请注意/ root是root用户的主目录,与/不一样。

    /bin

    • 用户二进制文件

    • 包含二进制可执行文件。

    • 您需要在单用户模式下使用的常用linux命令位于此目录下。

    • 系统的所有用户使用的命令位于此处。

    • 例如:ps,ls,ping,grep,cp。

    /sbin

    • 系统二进制文件

    • 就像/ bin一样,/ sbin也包含二进制可执行文件。

    • 但是,位于此目录下的linux命令通常由系统aministrator使用,用于系统维护目的。

    • 例如:iptables,reboot,fdisk,ifconfig,swapon

    /etc

    • 配置文件

    • 包含所有程序所需的配置文件。

    • 这还包含用于启动/停止单个程序的启动和关闭shell脚本。

    • 例如:/etc/resolv.conf,/etc/logrotate.conf

    /dev

    • 设备文件

    • 包含设备文件。

    • 这些包括终端设备,USB或连接到系统的任何设备。

    • 例如:/ dev / tty1,/ dev / usbmon0

    /proc

    • 进程信息

    • 包含有关系统进程的信息。

    • 这是一个包含运行进程信息的伪文件系统。例如:/ proc / {pid}目录包含有关该特定pid进程的信息。

    • 这是一个具有关于系统资源的文本信息的虚拟文件系统。例如:/ proc / uptime

    /var

    • 变量文件

    • ar代表可变文件。

    • 预期会增长的文件内容可以在这个目录下找到。

    • 这包括 - 系统日志文件(/ var / log); 包和数据库文件(/ var / lib); 电子邮件(/ var / mail); 打印队列(/ var / spool); 锁定文件(/ var / lock); 重新启动时需要临时文件(/ var / tmp)

    /tmp

    • 临时文件

    • 包含由系统和用户创建的临时文件的目录。

    • 系统重新启动时,此目录下的文件将被删除。

    /usr

    • 用户程序

    • 包含二进制文件,库,文档和二级程序的源代码。

    • / usr / bin包含用户程序的二进制文件。如果在/ bin下找不到用户二进制文件,请查看/ usr / bin。例如:at,awk,cc,less,scp

    • / usr / sbin包含系统管理员的二进制文件。如果在/ sbin下找不到系统二进制文件,请查看/ usr / sbin。例如:atd,cron,sshd,useradd,userdel

    • / usr / lib包含/ usr / bin和/ usr / sbin的库

    • / usr / local包含您从源代码安装的用户程序。例如,当您从源代码安装apache时,它将在/ usr / local / apache2下

    /home

    • 主页目录

    • 所有用户的主目录存储他们的个人文件。

    • 例如:/ home /zhangwei,/ home /guest

    /boot

    • 引导加载程序文件

    • 包含启动加载器相关的文件。

    • 内核initrd,vmlinux,grub文件位于/ boot下

    • 例如:initrd.img-2.6.32-24-generic,vmlinuz-2.6.32-24-generic

    /lib

    • 系统库

    • 包含支持位于/ bin和/ sbin下的二进制文件的库文件

    • 库文件名是ld 或lib * .so。

    • 例如:ld-2.11.1.so,libncurses.so.5.7

    /opt

    • 可选的附加应用程序

    • opt代表可选。

    • 包含来自各个供应商的附加应用程序。

    • 附加应用程序应安装在/ opt /或/ opt /子目录下。

    /mnt

    • 挂载目录

    • 系统管理员可以挂载文件系统的临时挂载目录

    /media

    • 可移动媒体设备

    • 临时安装目录的可移动设备。

    • 例如,用于CD-ROM的/ media / cdrom; /媒体/软盘软驱; / media / cdrecorder for CD writer

    /srv

    • 服务数据

    • 包含服务器特定的服务相关数据。

    • 例如,/ srv / cvs包含CVS相关数据。

    第二天

    Linux主要的目录

    • Linux不像windows系统一样,是没有盘符的,只有目录 所有的文件都在/目录下面,用户的话在home文件夹下面

    • 根目录

      • /

      • 查看根目录可以使用 ls/

    • /bin

      • 主要存放一些系统命令
    • /boot

      • 主要存放系统常用的开机之类的文件
    • /dev

      • 存放设备文件
    • /etc

      • 系统,软件的配置文件一般都存放在这个文件下面,用户的账号密码,启动服务器都放在这个文件夹下
    • /home

      • 用户目录 cd ~
    • /lib

      • 系统或者软件所以来的库
    • /media

      • 存放媒体的东西 光盘 dvd挂载之后都在这个目录下
    • /mnt

    • opt

      • 一般存放的是第三方软件

      • /usr/local

    • /root

      • 系统管理员目录
    • /temp

      • 存放程序的临时文件

    命令

    • 首先要想执行linux命令就要先打开cmd命令窗口

    • 右键打开终端窗口 ctrl+alt+t

    • 命令格式

      • commad [选项] [参数]

      • commad ---命令

        • cd

        • cp

        • ls

      • []

        • 可有可无的意思
    • 例如

      • ls

        • 没有参数,没有选项
      • cd /home

        • 有参数 没选项
      • rmdir -f db

        • 有选项(-f),也有参数(db)

    对文件和文件夹的操作

    • 进入目录

      • 路劲

        • 相对路径

        • 绝对路径

      • pwd

        • 查看当前所有在的目录
      • cd 相对路径或者绝对路径

      • cd /home/zhangwei

        • 使用绝对路径
      • cd 下载

        • 使用相对路径
      • cd ..

        • 进入上一级目录
      • cd -

        • 回到上一次操作的目录
      • cd ~

        • 进入用户下面的根目录
    • 查看目录

      • 语法格式

        • ls [选项]
      • 选项

        • -a

          • 显示隐藏文件
        • -l

          • 显示文件或者文件夹的详细信息
        • -R 递归显示,包括子文件或者子目录

        • -t 按时间排序

      • 例如

        • ls

        • ls -a -l -R -t

        • ls -l

          • drwxr-xr-x(第一段) 2 (第二段) zhangwei(第三段) zhangwei(第四段) 4096(第五段) 7月 24 15:56(第六段) configuration(第七段)

          • 第一段

            • d (rwx) (r-x)(r-x)

            • d

              • 表示是一个目录
            • r

              • 可以读
            • w

              • 可写
            • x

              • 可执行
            • d (rwx) (r-x)(r-x)

              • d(rwx)

                • 表示当前用户的权限
              • r-x

                • 表示用户组的权限
              • r-x

                • 表示其他用户
          • 第二段

            • 数字

              • 目录下的文件或者子目录的个数
          • 第三段

            • 文件或者目录所有者
          • 第四段

            • 文件或者目录的所有者所属的用户组
          • 第五段

            • 文件或者目录的大小
          • 第六段

            • 文件或者目录最后修改的或者创建的时间
          • 第七段

            • 文件或者目录的名称
    • 创建目录

      • mkdir [选项] 参数(目录的名称)

      • 选项

        • -m

        • -p

      • 例如

        • mkdir test

        • mkdir -p demo1/demo2/demo3

    • 删除目录

      • 语法格式

        • rmdir [选项] 参数(空目录)
      • 选项

        • -p

          • 递归删除所有空目录
      • 例如

        • rmdir demo3

        • demo2 touch test.txt demo2 ls demo2 cd .. demo1 rmdir demo2 rmdir: 删除 'demo2' 失败: 目录非空

        • rmdir -p demo1/demo2

    • 创建文件

      • 语法格式

        • touch [选项] 参数(文件名.后缀名)
      • 选项

        • -t

          • 指定时间
        • -r

          • 参考文件的时间作为当前创建文件的日期
      • 例如

        • touch test.py

        • touch test1.py test2.py 一次性创建多个

        • touch -r test2.py test3.py

          • 参考test1.py的时间作为test2创建的日期
        • touch -t 201809111141 hehe.py

          • 指定日期
    • 删除文件/目录

      • 语法格式

        • rm [选项] 参数(目录或者文件名)
      • 选项

        • -r

          • 递归删除
        • -f

          • 强制删除
        • -i

          • 互动
      • 例如

        • rm test

        • rm -r demo

        • test rm -i demo rm:是否删除普通空文件 'demo'? yes

        • rm -rf demo

    • 复制

      • 语法格式

        • cp [选项] 复制的目录或者文件 目标目录
      • 选项

        • -r

          • 递归复制
        • -f

          • 覆盖复制
        • -i

          • 提示是否覆盖
        • -p

          • 保留文件夹的权限
      • 举个栗子

        • cp -r ./demo1/haha ./demo

        • cp -ri ./demo1/haha ./demo 如何存在相同的文件,提示是否覆盖

        • cp -rf ./demo1/haha ./demo 如何存在相同的文件,强制覆盖

        • cp --rfp cp -rf ./demo1/haha ./demo

    • 查看文件

      • cat [选项] 文件名

      • 选项

        • -n

          • 显示行号
        • -b

          • 对空行不编号
        • -s

          • 连续两行以上的空白行就合并成一行空白
      • 举个栗子

        • 合并两行以上的空行为一行,进行编号

          cat -ns ./demo1/haha/t1.txt

        • 对空行不编号

          cat -b ./demo1/haha/t1.txt

        • cat -bs ./demo1/haha/t1.txt

        • cat -n ./demo1/haha/t1.txt

    • 编辑文件

      • 概要

        • 首先下载vim

          • sudo apt install vim
        • 如果有图形界面可以直接通过 gedit内置的软件打开文件

        • 如果没有图形话界面只能通过vim去编辑

      • vim命令

        • 模式切换

          • i

            • 表示当前光标下编辑文本
          • a

            • 从文件的末尾开始编辑
          • esc

            • 进入命令行模式
        • 光标移动(不要在编辑状态)

          • $

            • 移动到光标所在行的行尾
          • ^

            • 移动到光标所在行的行尾
          • g

            • 移动到末尾
          • gg

            • 移动到位的头部
        • 删除 复制 粘贴

          • dd

            • 删除光标所在行
          • yy

            • 复制光标所在行
          • p

            • 粘贴
          • x

            • 复制当前的字符
        • 撤销

          • u

          • ctrl+r

        • 保存退出

          • 先要进入命令模式 (esc)

          • :w

            • 保存文件
          • :w 文件名

            • 另存
          • :q

            • 退出
          • :q!

            • 强制退出
          • :wq!

            • 保存并且强制退出
    • 移动文件跟目录

      • mv [选项] 要移动的文件或者目录 目标目录

      • 选项

        • -b

          • 如果文件或者文件夹存在,备份以存在的文件
        • -f

          • 如果文件存在,在强制覆盖
        • -i

          • 提示
      • 举个栗子

        • mv ./demo/hello.py demo1

        • mv demo1 demo

    • 查找

    授权(用户)

    • 前期知识点

      • 三种身份

        • 用户

        • 用户组

        • 其他用户

      • 权限

        • r(read)

        • w(write)

        • x(execute)

      • 授权可以是数字也是字母

        • r 4

        • w 2

        • x 1

      • 作用

        • 改变文件或者文件夹的操作权限
    • chmod

      • 注意

        • 使用该命令要么使用root用户,要么使用sudo
      • 语法格式

        • sudo chmod [选项] 文件
      • 选项

        • -R

          • 递归修改目录或者子文件
      • sudo chmod u=rwx,go=rw text1.py

        • u(user)

        • g group

        • o(other)

      • 举个栗子

        • 数字模式

          sudo chmod 777

          • 第一个7

            • 表示文件所有者用户拥有读写执行的权限
          • 第二个7

            • 表示用户组拥有读写执行的权限
          • 第三个7

            • 表示其他用户拥有读写执行的权限
          • 4 + 2 + 1

    • chown

      • 修改文件的所有者(只能在root用户下修改)

      • chown [选项] user[:group] 文件或者文件夹

      • 选项

        • user

          • 新用户的id
        • group

          • 使用组
        • -f

          • 忽略错误的信息
        • -R

          • 递归处理所有的子目录和子文件
      • 举个栗子

        • 递归修改文件的所有者 用户名是root 用户组是root

          chown -R root:root demo1

    关机重启

    • 关机

      • sudo halt 立即关机

      • sudo poweroff 立即关机

      • shutdown -h now(root用户)

      • shutdown -h 60 表示60分钟后自动关机

    • 重启

      • sudo reboot

      • shutdonw -r now(用户)

      • shutdown -r 60 (root) 表示60分钟之后重启

    • 语法

      • shutdown [选项] 时间
    • 选项

      • -c:取消已经执行的 shutdown 命令;

      • -h:关机;

      • -r:重启;

    • 栗子

      • 重启与定时重启

        • shutdown -r +10 10分钟之后重启

        • shutdown -r 05:30 & 重启命令放入后台,&是后台的意思

        • shutdown -c 取消定时重启

        • shutdown -r now 重启, now是现在重启的意思

      • 关机和定时关机

        • shutdown -h now 现在关机

        • shutdown -h 05:30 指定时间关机

    用户

    • 用户

      • 用户分类

        • 管理员用户

          • root

            • 0
        • 普通用户

          • 1-65535(id的范围)

          • 系统用户

            • 1-999(id)
          • 登录用户

            • 1000-65535
          • 权限不一样

      • 添加用户

        • useradd

          • 语法格式

            • 系统用户

              • useradd -r -u 用户的id 用户名 -p 密码
            • 普通用户

              • useradd -u 用户的id 用户名 -p 密码
        • adduser

          • 语法格式

            • adduser py
          • 会在home目录创建根目录

      • 修改用户

        • 语法格式

          • usermod -l 新用户名 旧用户名
      • 删除用户

        • 语法格式

          • userdel 用户名
      • 查看用户

        • cat /etc/shadow
      • 退出用户

        • ctrl + d
      • sudo passwd 用户名

    • 用户组

      • 用户组是只拥有多个权限,一般配合用户使用

      • 语法格式

        • groupadd

        • groupdel

        • gorupmod

      • 添加用户组

        • groupadd -g 组ID 组的名称

        • usermod -a -G zhangwei py1

          • -a

            • 追加
          • -G

            • 用户组
    • 其他终端版本

      • 查看支持的终端版本

        • cat /etc/shells

        • /bin/sh /bin/bash /bin/rbash /bin/dash /bin/zsh /usr/bin/zsh

      • useradd 或者usermod -s 终端路径

    压缩/解压缩

    • 常用的命令

      • tar zip unzip gzip gunzip
    • tar

      • 作用

        • 讲文件打包,一般配合zip使用
    • 语法格式

      • tar [选项] [文件,目录]

      • 选项

        • -c

          • 创建压缩文档
        • -x

          • 解压文档
        • -u

          • 更新压缩文档
        • -t

          • 查看文档的内容
        • -r

          • 向压缩文档追加文件
      • 辅助选项

        • -z

          • gzip压缩打包
        • -j

          • bz2
        • -v

          • 显示压缩或者解压的过程
        • -f

          • 压缩文档的名字 ,f必须放在后面
        • -C

          • 解压到指定目录
    • 举个栗子

      • tar -cf hello.tar hello

        • -f 后面第一个参数要打包的名称,要打包的文件或者目录
      • tar -xf hello.tar -C /home/zhangwei/opt

        • 解压文件到指定目录

        • -C

          • 指定目录
      • tar -zcf hello.tar.zip

        • zip压缩病打包
      • tar -zxf hello.tar.zip -C /home/zhangwei/opt

        • 解压缩到指定目录 如果不加-C默认解压到当前目录

    远程上传

    • winscp

    • 说明

      • scp

        • 远程拷贝 source copy
    • 语法格式

      • scp [选项] 上传的文件或者目录 目标目录
    • 选项

      • -r

        • 递归上传
      • -v

        • 显示过程
    • 从服务器复制到本地

      • scp 远程登录的用户名@ip地址:/远程文件的地址 本地路径

      • scp -r zhangwei@47.106.89.6:/home/zhangwei/hh /home/zhangwei/test

      • scp zhangwei@47.106.89.6:/home/zhangwei/hello.py /home/zhangwei/test

    • 从本地上传到服务器

      • scp -r /home/zhangwei/test zhangwei@47.106.89.6:/home/zhangwei/

    网络

    • 辅助命令

      • 查看ip地址

        • ip addr

        • ifconfig(已过时)

      • 查看网络链接状态

        • ip link list
      • 开启网络

        • sudo ip addr set etho up
      • 关闭网络

        • sudo ip addr set etho down
    • 配置网络的IP地址

      • iface eth1 inet static #static 静态ip dhcp动态ip

    address 192.168.50.222 #静态ip地址

    netmask 255.2555.255.0 # 子网掩码

    gateway 192.168..50.1 #默认网关 - iface eth2 inet static #static 静态ip dhcp动态ip

    address 192.168.50.223 #静态ip地址

    netmask 255.2555.255.0 # 子网掩码

    gateway 192.168..50.1 #默认网关

    其他

    • sudo passwd 用户名

      • 修改密码
    • su

      • 切换用户

      • 默认切换到root用户

      • su 用户名

    • 查看端口占用

      • lsof -i :端口号

    防火墙

    • UFW 防火墙

    • 安装防火墙

      • sudo apt install ufw
    • 开启防火墙

      • sudo ufw enable
    • 关闭防火墙

      • sudo ufw disable
    • 随系统启动

      • sudo ufw default deny
    • 查看防火墙的状态

    • 开启或者关闭某些端口

      • sudo ufw allow from 192.168.50.18 port 22 允许通过ip地址和22都款访问服务器

      • sudo ufw allow 22 允许通过22端口访问服务器

      • sudo ufw allow from 192.168.50.18 允许通过ip地址和22都款访问服务器

    进程/线程

    • ps

      • Process Status
    • ps [选项]

    • 选项

      • -A 列出当前所有的进程 -e
    • 辅助现象

      • -l 显示详细信息

      • -f 显示更纤细的信息

    • 了解

      • 进程的5中状态

        • 运行状态(R)

        • 中断(S)

        • 可不中断(D)

        • 僵死(Z)

        • 停止(T)

    • 举个栗子

      • F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 1 0 0 80 0 - 56416 - ? 00:00:01 systemd 1 S 0 2 0 0 80 0 - 0 - ? 00:00:00 kthreadd

      • 说明

        • uid 进程所属用户的id

        • pid(重要)

          • 进程ID
        • ppid

          • 父进程的ID
        • C

          • 进程占用cpu的百分比
        • time

          • 进程启动到现在的运行时间
        • cmd

          • 指令的名称
        • F

          • 程序的flag

            • 4 超级用户
        • S

          • R

            • 进程正在运行
          • S

            • 进程在睡觉
          • T

            • 进程停止
          • Z

            • 终止
        • TTY

          • 表示进程在那个终端上运行,如果该进程与运行的终端无关,就显示???
    • 杀死进程

      • kill -9 pid pid

      • 杀死多个进程, 可以是多个

    查找

    • find

    • grep

      • 搜索过滤特定的字符串

      • global search regular expression

    • 语法格式

      • grep [选项] '模式' [文件]
    • 选项

      • -i

        • 忽略大小写
    • 模式

      • 直接输入字符串

      • 正则表达式

        • .

        • []

          • 字符集合
        • ()

        • {}

        • [0-9] \d

        • [a-z] [A-Z]

        • \w [A-Z0-9a-z_]

        • ^

        • $

        • |

          • {0,}
          • {1}
        • ? {0.1}

    • 举个栗子

      • grep -i '^f[a-z]{0,4}' /home/zhangwei/test/hello.py

      • 配合ps使用 ps -el | grep nginx

    配合kill 杀死进程

    sudo kill -9 pid

    XMind - Trial Version

    周计划.png

    相关文章

      网友评论

          本文标题:# Linux命令

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