1. linux工作中常用之必备基础命令

  1. 1cd命令
  2. 功能说明:切换目录。
  3. 例:cd /usr/local/
  4. cd ..
  5. cd -
  6. 2ls命令
  7. 功能说明:列出目录内容。
  8. 例:ls -ltr
  9. ls -lrt /home/
  10. 3pwd命令
  11. 功能说明:查询所在目录。
  12. 例: pwd
  13. 4cat命令
  14. 功能说明:查看小文件内容。
  15. 例:cat -n 123.txt
  16. 5more命令
  17. 功能说明:查看大文件内容
  18. 例:more System.map-3.10.0-123.el7.x86_64
  19. 6head命令
  20. 功能说明:查看文件的前面N行。
  21. 例:head -20 System.map-3.10.0-123.el7.x86_64
  22. 7tail命令
  23. 功能说明:查看文件的后面N行。
  24. 例:tail -f access.log
  25. tail -20 access.log
  26. 8touch命令
  27. 功能说明:创建一个空文件。
  28. 例:touch 123.txt
  29. 9mkdir命令
  30. 功能说明:创建目录。
  31. 例:mkdir -p /tmp/XD/XD/class
  32. 10rmdir命令
  33. 功能说明:删除目录。
  34. 例:rmdir /tmp/XD/XD/class
  35. 11 cp命令
  36. 功能说明:拷贝文件。
  37. 例:cp 123.txt class/
  38. cp -a 123.txt class/789.txt
  39. 12 mv命令
  40. 功能说明:移动或更名现有的文件或目录。
  41. 例:mv 123.txt 345.php
  42. mv 789.txt /home/987.php
  43. 13rm命令
  44. 功能说明:删除文件或目录。
  45. 例:rm 987.php
  46. rm -rf 456.txt
  47. 14 diff命令
  48. 功能说明:对比文件差异。
  49. 例:diff 123.txt 456.txt
  50. 15ssh命令
  51. 功能说明:远程安全登录方式。
  52. 例:ssh 192.168.226.131
  53. 16exit命令
  54. 功能说明:退出命令。
  55. 例:
  56. 17id命令
  57. 功能说明:查看用户。
  58. 例:id root
  59. 18uname命令
  60. 功能说明:查询主机信息。
  61. 例:uname -a
  62. 19ping命令
  63. 功能说明:查看网络是否通。
  64. 例:ping 192.168.226.131
  65. 20echo命令
  66. 功能说明:标准输出命令。
  67. 例:echo "this is echo 命令"
  68. 21man命令(ls --help)
  69. 功能说明:查看帮助文档
  70. 例:man ls
  71. 22help命令
  72. 功能说明:查看内部命令帮助
  73. 例:help if
  1. 1clear命令
  2. 功能说明:清屏。
  3. 2who命令
  4. 功能说明:当前在本地系统上的所有用户的信息
  5. 例:whoami
  6. who
  7. 3uptime命令
  8. 功能说明:查询系统信息
  9. 例:
  10. load average: 0.00, 0.01, 0.05 1分钟的负载,5分钟的负载,15分钟的负载
  11. 4w命令
  12. 功能说明:查询系统信息
  13. 例:w
  14. 5free命令
  15. 功能说明:查看系统内存
  16. 例:free -h
  17. free -m
  18. 6wc命令
  19. 功能说明:统计行。
  20. 例:wc -l 123.txt
  21. 7grep命令
  22. 功能说明:查找文件里符合条件的字符串。
  23. 例:grep '119.4.253.206' 123.txt | wc -l
  24. -n:输出行数 grep -n '80.82.70.187' 123.txt
  25. -w:精确匹配 grep -w '113.66.107.198' 123.txt
  26. -i:忽略大小写 grep -i 'IP:113.66.107.198' 123.txt
  27. -v:反向选择 grep -v '113.66.107.198' 123.txt
  28. 8 find命令
  29. 功能说明:查询文件。
  30. 例:find / -name -type f 123.txt
  31. 9uniq命令
  32. 功能说明:对排序好的内容进行统计
  33. 例:uniq -c 123.txt | sort -n
  34. 10sort命令
  35. 功能说明:对内容进行排序
  36. 例:uniq -c 123.txt | sort -n
  37. 11df命令
  38. 功能说明:文件系统的磁盘使用情况统计。
  39. 例:df -h
  40. 12netstat
  41. 功能说明:查看网络端口的使用情况
  42. 例:netstat -tunlp | grep nginx
  43. -t :显示tcp端口
  44. -u :显示UDP端口
  45. -n :指明拒绝显示别名
  46. -l :指明listen
  47. -p :指明显示建立相关连接的程序名
  48. 安装netstat命令:yum -y install net-tools
  49. 13hostname命令
  50. 功能说明:查看主机名
  51. 例:hostname
  52. 14ps命令
  53. 功能说明:显示所有进程信息。 ps grep 常用组合用法,查找特定进程
  54. 例:ps -ef | grep nginx
  55. ps -aux | grep nginx
  56. 15kill命令
  57. 功能说明:杀进程
  58. 例: kill -9 top
  59. 16top命令
  60. 功能说明:监控Linux系统状况,比如cpu、内存的使用
  61. 例:按住键盘q退出
  62. 17du命令
  63. 功能说明:统计大小
  64. 例:du -sh du -sm *
  65. 18firewall-cmd命令
  66. 功能说明:查看防火墙的状态
  67. 例:firewall-cmd --state
  68. centos 7 关闭防火墙:systemctl stop firewalld.service
  69. 19echo命令
  70. 功能说明:判断上一条命令是否正确
  71. 例:echo $?
  72. 20cal命令
  73. 功能说明:查看日历
  74. 例:cal 2008

2. linux 下什么是输入输出错误重定向

  • 什么是输入重定向?

    1. 通俗的讲,输入重定向就是把要输入的信息写入到指定的文件中去
  • 什么是输出重定向?

    1. 通俗的讲,输出重定向就是把要输出的信息写入到一个文件中去,而不是将要输出的文件信息输出到控制台(显示屏)
  • 什么是错误重定向?

    1. 通俗的讲,错误重定向就是把错误的信息写入到一个文件中去
  • linux中一切皆文件

    1. 文件描述符:
    2. posix名称 文件描述符 用途
    3. /dev/stdin 0 标准输入
    4. /dev/stdout 1 标准输出
    5. /dev/stderr 2 标准错误输出
  • 输入重定向: <

    • eg:wc -l < 123.txt
  • 输出重定向:> #代表覆盖写入 ; >> #代表追加写入

    • eg: cat >> 123.txt ; cat > 123.txt ; ls -lrt >123.txt ; echo ‘123455’ > 123.txt
  • 错误重定向:

    • eg:llll 2> 123.txt ; llll 2> /dev/null #/dev/null 无底洞
  • 几个符号:

    • & #代表等同于的 意思 ls -lrt /boot /test 1>/root/123.txt 2>&1
    • &> #代表不分正确还是错误的意思 ls -lrt /boot /test &>123.txt
    • | #管道符
    • ; #代表的是可以执行多条命令 cat /etc/passwd | grep root ; ls -lrt
    • && #前面的命令执行成功的话,后面的才可以执行成功;前面的命令执行失败的话,后面的不可以执行
    • || #前面的命令执行成功的话,后面的不可以执行;前面的命令执行失败的话,后面的可以执行

3. linux下的目录分类与作用介绍

截图_20224930044948.png

  • /:根目录,一般根目录下只存放目录,不要存放文件,也不要修改,或者删除目录下的内容
  • /mnt:测试目录
  • /root:root用户的家目录
  • /home:普通用户的家目录
  • /tmp:临时目录(比如文件上传时)
  • /var:存放经常修改的数据,比如程序运行的日志文件
  • /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件
  • /etc:系统默认放置配置文件的地方
  • /bin:所有用户都能执行的程序
  • /sbin:只有root才能执行的程序
  • /usr:用户自己的软件都可以放到这儿来
  • /dev:存放硬件设备的地方(/dev/cdrom)
  • /media:挂载光盘使用的
    • 挂载光盘:mount /dev/cdrom /media
    • 卸载光盘:umount /dev/cdrom

绝对路径:说白了就是完整的路径
相对路径:相对于当前位置路径 ./ 代表的是当前目录的意思 ../ 代表的是上一级目录的意思

4. 虚拟机中Centos7与外部物理机的时间同步

  • 卸载的光盘的时候:

    1. [root@localhost media]# umount /dev/cdrom
    2. umount: /media: target is busy.
    3. (In some cases useful info about processes that use
    4. the device is found by lsof(8) or fuser(1))
  • 解决方法:

    • 首先确认联网状态
    • yum install -y psmisc
    • fuser -mv /media
    • fuser -kv /media
  • date命令

    • date “+%Y-%m-%d %H:%M:%S”
    • date -s “2020-10-1 22:00:00”
    • date -d yesterday “+%Y-%m-%d %H:%M:%S”
    • date “+%w”
  • 安装VMwareTools

    • 第一步打开虚拟机,安装VMwareTools使工具软件包下载到光盘
    • 挂载光盘到linux系统
    • cp VMwareTools-10.2.0-7259539.tar.gz /root/
    • umount /dev/cdrom
    • tar -xf VMwareTools-10.2.0-7259539.tar.gz
    • cd vmware-tools-distrib
    • yum -y install perl-Data-Dumper
    • ./vmware-install.pl
    • 一路按住键盘的 回车 键,选用默认
    • echo $? 验证是否安装成功,返回0就是成功
    • 验证里面虚拟机的时间是否与外部物理机的时间同步

5. linux编辑神器vi的使用

  • vi的基本概念:(三种模式)

    • 命令模式
    • 插入模式
    • 底行模式
      1. 进入插入模式:按住键盘的 i 或者 o 或者 a
      2. 进入命令模式:按住键盘的左上角esc
      3. 进入底行模式:前提是得在命令模式,输入 进入
  • 在命令行模式中的操作:

    1. $ #移动到这一行的行尾
    2. gg #移动到文档第一行行首
    3. G #移动到文档最后一行行首
    4. x #删除内容,删除一个字符
    5. dd #删除游标所在的那一整行
    6. u #复原原来的操作
    7. v #选中范围按y即复制
    8. p #粘贴
  • 在底行模式中的操作: ```shell n #n为数字。光标移动到第n 行 / #寻找内容

%s/word1/word2/g #从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 n1,n2s/word1/word2/g #n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代 为 word2

set nu #显示行号 set nonu #取消行号 q! #强制离开不保存 wq #离开并保存 wq! #强制离开并保存 !ls #暂时离开

  1. <a name="pgn6B"></a>
  2. # 6. linux的用户管理与组管理
  3. - Linux是一个多用户、多任务的操作系统
  4. - linux用户的分类:
  5. - 超级用户root:拥有至高无上的权限 UID:0
  6. - 普通用户:权限有一定的限制,可以登录系统。一般可以执行/usr/local/bin或者/bin或者/usr/bin或者自己家目录的命令 UID:500 -60000 (centos 6) UID:1000 - 60000(centos7)
  7. - 系统用户(伪用户):一般不会登录系统,一般情况是用来维持某个服务程序 UID :1-499 (centos 6) UID :1-1000 (centos 7)
  8. - 关于用户的相关配置文件
  9. - 账号信息:/etc/passwd
  10. - 密码信息:/etc/shadow
  11. ```java
  12. test :x :1000 :1000 : :/home/test :/bin/bash
  13. 用户 密码占位符 UID GID 用户描述 用户家目录 登录后使用的shell解释
  14. /sbin/nologin #是不可登录的
  15. /bin/bash #可以登录
  • 添加用户命令:useradd

    • -u #指定用户UID
    • -d #指定用户主目录
    • -g #指定用户所属组
    • -r #指定用户是系统用户
    • -s #用户登录shell解释器
    • -M #不创建主目录
  • eg:创建一个用户XD,指定UID为1010,指定家目录为/home/XD ,指定所属组为root组,指定登录shell 为/bin/bash

    • useradd -u 1010 -d /home/XD -g root -s /bin/bash XD
  • 登录用户时出现以下信息如何解决:

    1. 如下:
    2. bash-4.2$
    3. bash-4.2$
    4. 解决:复制相关信息到家目录
    5. cp -r /etc/skel/.bash* /home/XD/
  • 删除用户命令:userdel

    • -r #连同家目录一块删除
  • 添加用户组命令:groupadd
  • 删除用户组命令:groupdel
  • 修改用户的信息命令:usermod
    • -u #指定用户UID
    • -d #指定用户主目录
    • -g #指定用户所属组
  • 设置用户密码命令passwd
    • passwd XD
    • echo “123456” | passwd —stdin XD

7. linux文件属性与权限操作

  • 文件的属性:ls -lrti ```java 135088935 -rw———-. 1 root root 1778 Oct 1 2020 yum.log 第一列:i节点;i节点可以理解文件id,一个i节点号可以对应多个文件,一个文件只能对应一个i节点号 第二列:文件的类型与权限
  • 代表的是文件;d#代表是目录; l #软链接文件 ;b #代表块设备;c #代表的是硬件设备(键盘)

    r:表示读权限 ;w:表示写权限;x:表示执行权限 4:表示读权限 ;2:表示写权限;1:表示执行权限 rw———-:分为三列 rw- —- —-,第一列为所属者的权限,第二列为所属组的权限,第三列为其它的权限

第三列:有多少文件名链接到这个节点 第四列:文件的所有者 第五列:文件的所有组 第六列:容量大小,单位默认为B 第八列:创建或最近修改的时间 第九列:文件名

  1. - 链接
  2. ```java
  3. 软连接:ln -s
  4. eg:ln -s /home/XD/yum.log /usr/local/
  5. i节点号跟源文件不一样,源文件一旦删除,软链接将找不到源文件
  6. 硬链接:ln
  7. eg:ln /home/XD/yum.log /usr/local/XD/
  8. i节点与源文件一模一样,源文件删除,硬链接还可以继续使用。常用于防止重要文件被误删
  • 修改文件的权限命令chmod:

    • -R #递归的意思
    • chmod -R 777 /home/XD/*
      1. eg
      2. chmod u+x,g+w,o+w boot.log
      3. chmod u-x,g-w,o-w boot.log
      4. chmod 777 boot.log
  • 修改文件的所有者跟所属组命令chown:

    • -R #递归的意思
      1. eg:更改文件目录XD 的所属者为root用户 所属组为XD
      2. chown -R root:XD XD

8. linux 的文件归档与解压缩

  • 文件归档:

文件归档也称之为打包,指的是一个文件或者多个文件或者目录的一个集合,这个集合储存在一个文件中。归档文件是没有进行压缩的,所以占用的空间是所有文件或者目录的总和。工作中经常与压缩结合在一起使用

  • 文件压缩:

节约磁盘空间,加快文件的传输速率

  • 解压缩命令:gzip;xz

    • gzip:不能压缩目录,只能压缩文件,压缩速度最快,但是压缩比例比较低。扩展名:.gz

      • 不保留源文件压缩:gzip 123.txt
      • 保留源文件压缩:gzip -c 345.txt > 345.txt.gz
      • 不保留源文件的解压:gunzip 123.txt.gz
      • 保留原文件的解压:gunzip -c 345.txt.gz > 234.txt
      • 不保留源文件解压:gzip -d 345.txt.gz
    • xz :可以压缩目录和文件,压缩的速度比较慢,但是压缩比例最高。扩展名:.xz

      • 不保留源文件压缩:xz 123.txt
      • 保留源文件压缩:xz -c 345.txt > 345.txt.xz
      • 不保留源文件的解压:unxz 345.txt.xz
      • 保留原文件的解压:xz -d -k 123.txt.xz
      • 不保留源文件解压:xz -d 123.txt.xz
  • 归档与压缩命令tar:
    • -c #创建新文件
    • -f #指定文件格式
    • -v #显示详细过程
    • eg:tar -cf vmware.tar vmware-tools-distrib;

tar -cvf vmware-tools.tar vmware-tools-distrib

  • -z #以gzip方式归档压缩 eg:tar -zcvf vmware-tools.tar.gz vmware-tools-distrib
  • -J #以xz方式进行归档压缩 eg:tar -Jcvf vmware-tools.tar.xz vmware-tools-distrib;

    tar -Jcvf /home/XD/vmware-tools.tar.xz vmware-tools-distrib

  • -v #解档解压操作 tar -xf vmware-tools.tar.xz

  • -C #指定解压路径