linux基本命令

做~自己de王妃 提交于 2019-12-05 04:54:32

Linux常规命令

  1. 常见的pc端操作系统:window Linux macOS

  2. Linux的特点和优势

    1. 成本低

    2. 并非完全免费,服务收费

    3. 协议标准统一

    4. 技术标准层面、法律层面

    5. 高稳定和安全性

    6. 内核小,设计理念先进

    7. 网络应用丰富

  3. 常用的三种主流Linux版本

    1. redhat

    2. centOS

    3. ubuntu

  4. Linux的应用领域

    1. 因特网应用架构与网络服务(J2EE、.net等)

    2. 数据库服务器(mysql、oracle、DB2)

    3. 软件开发(java、c++、c)

  5. Linux系统结构目录

    1. / 根目录

    2. bin 系统可执行文件(多用于普通用户)

    3. boot 引导目录

    4. dev 设备管理目录

    5. etc 配置文件目录

    6. home 家目录

    7. lib 库文件目录

    8. mnt 光盘、优盘等外设挂载点目录

    9. proc 存放虚幻文件目录

    10. sbin 系统可执行文件目录(不多用于普通用户)

    11. tmp 存放临时文件的目录

    12. usr 用于存放所有命令、文档、程序的目录,一般正常操作过程中是不会被改变的.

    13. var 可变文件目录

    14. opt 用于存放可选的应用程序

  6. Linux的常规安装步骤

    1. 先安装VMware Workstation(12的版本,用于搭建服务器)

    2. 其次安装centOS

  7. Linux的常用命令

    1. 查看ip地址

      1. 命令 ip addr

      2. 命令 vi /etc/sysconfig/network-scripts/ifcfg-ens33(此以下修改虚拟机网络配置)

      3. i进入insert模式修改onboot改为yes

      4. 退出insert模式

      5. 命令:wq!

      6. 重启网络服务 systemctl restart network

      7. 查看网络服务 systemctl status network

      8. 修改网络适配器 NAT改为桥接

      9. 重启网络服务 systemctl restart network

      10. 命令:ip addr

    2. 热热身的内容

      1. 上下键显示操作过的命令

      2. tab键补全文件名以及目录名

      3. cd 目录名: 表示进入目录

      4. cd .. 表示会回到上一级目录

      5. cd ../../ 表示会回到上两级目录

      6. cd / 表示会回到根目录

      7. cd ~ 表示家目录

      8. cd - 表示上一次使用命令下的目录

      9. pwd 显示当前目录路径

    3. 系统管理命令

      1. logout 注销

      2. reboot 重启

      3. tty 查看终端

      4. date 系统时间 date -s 01/13/2011 修改年月日 date -s 11:30:45 修改时间

      5. shutdowm 关机

      6. shutdown -h now 立即关机

      7. shutdown -c 取消关机

      8. shutdown +5 表示五分钟之后关机

      9. shutdown 10:30 表示指定时间关机

      10. shutdown -r now 表示l立刻关机并重启

      11. shutdown -r 10:30 表示在指定时间时关机并重启

    4. 用户管理命令

      1. 用户

        1. useradd+[-d]+[-u]+[-g]+[-s]+用户名→添加用户(必须要优先创建用户组名及组id),内部所拥有的参数如下:

          1. -d 指定用户登录时的起始目录

          2. -u 指定用户的用户id

          3. -g 指定用户组名的id

          4. -s 指定用户登录后的shell

        2. passwd+用户名→为用户更换密码

        3. usermod+[-d]+[-u]+[-g]+[-s]+用户名→修改用户参数

        4. userdel+[-r]+用户名→删除用户 -r表示删除用户及其home目录(非脚本下无法一次性删除多个用户)

        5. vi /etc/passwd 查看用户信息

          1. t1(用户) : x(密码) : 1000(uid) : 1000(gid) ::/home(家目录) /t1:/bin/bash(shell类型)'

          2. [t1 @ localhost ~ ] $(普通) 用户名 计算机名 家目录 用户类型 [root @ localhost ~ ] #(root)

        6. vi /etc/shadow 查看密码信息

        7. su username 切换到普通用户,su后面使用-,表示切换到新用户并且使用新用户的新环境

        8. sudo root 切换到root用户

        9. exit或logout或ctrl+d 可以退回到原来用户

      2. 用户组

        1. groupadd+[-g]+用户组名→新建用户组 参数-g(指定组号) groupadd -g 1000 t1000

        2. groupmod+[-g]+[-n]+新组名+原组名→ 同时修改组号和组名 groupmod -g 新组号 -n 新组名 原组名

        3. groupdel+需要删除的组名→删除用户组 (如果用户组下有用户名跟其他文档,不可删除用户组)

        4. vi /etc/group 查看用户组

    5. 目录管理命令

      1. mkdir+/xx→ 创建绝对路径的目录 mkdir /test 表示在根目录下创建test目录

      2. mkdir+xx/xx→ 创建相对路径的目录 mkdir test/test1 表示在test下创建test1目录

      3. mkdir+-p+绝对路径(相对路径)→ 创建多级目录 mkdir -p test1/test2/test3 表示一次创建多级目录test1,test2,test3

      4. rmdir+目录名→ 删除一个空目录 rmdir+-p 删除多级空目录 rmdir -p test1/test2/test3 表示删除多级目录

      5. mv+源目录+新目录→ 修改目录 mv test test1 表示将test目录修改成test1

      6. ls 显示当前目录下的文件和目录

        1. -l 列表形式显示

        2. -a 显示包括隐藏文件和目录

        3. -A 不显示包括隐藏文件和目录

        4. -R 显示目录的级联显示

      7. touch 创建一个空白文本文件

        1. touch a.txt表示创建一个a.txt的文件

        2. touch -t 201903021610.30 myfile 更新文件时间

    6. vi 命令

      1. vi插入文本类命令

        1. i 光标前插入 I光标的行首插入

        2. a 光标后插入 A光标的行末插入

        3. o 光标下一行插入 O光标上一行插入

        4. r当前光标处替换(只能替换一次) R光标处替换,直到用户停止替换

      2. vi光标位置类命令

        1. :n n为1,就表示光标会出现在第一行的行首

        2. n$ n为4时,表示从当前光标下移4行光标并位于行尾(包括当前光标)

        3. 0 表示当前光标的行首

        4. $ 表示在当前光标的行尾

        5. gg 表示在当前文档的第一行的行首

        6. G 表示在当前文档的最后一行的行首

      3. vi屏幕翻滚类命令

        1. ctrl+u 文件首翻半屏

        2. ctrl+d 文件尾翻半屏

        3. ctrl+b 文件首翻一屏

        4. ctrl+f 文件尾翻一屏

      4. vi复制、删除、替换、查找、显示行号类命令

        1. yy 表示复制一行 nyy表示复制n行(包括光标位置向下复制n行)

        2. p 粘贴

        3. dd 删除一行 ndd表示删除n行(包括光标位置向下删除n行)

        4. x 表示删除当前光标下的字符.

        5. :s/源文本/目标文本/g 全局替换 例 :s/User/user/g 注意:该替换表示的时光标所在行所有含有User的词都替换成user

        6. :%s/源文本/目标文本/g 替换整个文档

        7. :1,10 s/源文本/目标文本/g 表示1-10行内替换

        8. / 查找某个单词或字母 n表示下一个(小写)

        9. :set nu 显示行号

        10. :set nonu 不显示行号

      5. vi 保存命令

        1. q! 表示强制保存

        2. wq!表示强制保存退出

    7. 关于文档编辑命令

      1. sort+文件名 将文件内容排序,并显示在页面

      2. wc+文件名 显示文件内容中的的行数、字数、字节数

        1. wc -l 显示文件内容的行数

        2. wc -w 显示文件内容的字数

        3. wc -c 显示文件内容的字节数

      3. cp+源文件+目的文件 进行目录与文件的拷贝 cp a.txt b.txt表示复制a.txt文件取名b.txt到同级目录下 cp a.txt test表示复制a.txt文件到test目录下

      4. cp+-r 源目录+目的目录 进行目录的拷贝(包括目录内的文件)

        1. cp -r test1 test2 如果test2目录不存在,那么使用该命令将会复制test1目录包括文件并取名为test2存放到同级目录下

        2. cp -r test1 test3 如果test3目录存在,那么使用该命令将会复制test1到test3的目录下

      5. rm+文件名或目录名(若删除的是级联目录,删的就是最后一个子目录) 删除文件或目录

        1. rm -rf 强制删除目录或文件

        2. rm -i 删除文件或目录给予确认提示

    8. 文件管理命令

      1. cat+文件名 打开文件名,文件名可以是多个(一次显示完整文件,不可翻页)

      2. more+文件名 打开文件名,同样文件名可以是多个(多个文件在使用-num与+num时,多个文件按照先后顺序进行显示),b向上翻,空格向下翻

        1. -num 每页显示多少行内容 more -10 a.txt

        2. +num 从多少行开始显示 more +10 a.txt

      3. less +文件名 跟more类似

      4. head+文件名 输出文件最前面几行数据(默认10行) 可以同时打开多个文件输出数据,多个文件按照先后顺序进行输出

      5. head+-3+文件名 表示显示文件前面3行

      6. tail+文件名 功能与head类似

      7. tail+-2+文件名 表示显示文件最后两行

      8. tac 1.txt 逆向输出文件内容

    9. 权限管理相关命令

      1. chmod+[-R]+[u=rwx,g=rwx,o=rwx,a=rwx] 文件名或目录名→ 对文件或者目录设置权限 R表示递归设置权限

        1. +添加权限 chmod u+w a.txt

        2. -删除权限 chmod u-w a.txt

        3. u(文件拥有者),g(组),o(其他用户),a(所有人)

      2. chmod+[-R]+[u=7(4,2,1),g=(4,2,1),o=(4,2,1),a=(4,2,1)] 文件名或目录名 4表示读.2表示写,1表示执行,0表示没有权限

      3. chown+[-R]+需要修改的用户+[:需要修改的组名]+当前用户所使用的文件名(或目录名) 可以修改文件所属的用户跟所属用户组,但是组合的时候用户跟组名没有空格,并且组名前需要加冒号 chown -R t1000:t1000 test表示对test目录本身以及以下所有目录及文件进行修改用户以及组名,如果不加R只能对文件进行修改所属组以及所属用户

      4. chgrp+[-R]+需要修改的组名+当前用户所使用的文件名(或目录名) 只能修改文件(或目录)所属的用户组 chgrp -R t1000 test

    10. 文件的比较与文件类型命令

      1. diff+文件1+文件2 3d2表示文件1比文件2多 3c3,4表示左边右边不同,具体在第3行跟第4行,以字符比较文件的不同

      2. cmp+文件1+文件2 以字节方式比较不同

      3. file+文件名 检测文件类型

    11. 操作命令的相关命令

      1. whereis 查找命令所在路径和查找文档(man命令). whereis ls

      2. which 查找命令所在路径及别名 which ls

      3. alias 自定义别名命令 alias no='ls -l' 设置ls -l的别名no,使用命令no代替ls -l

      4. unalias 取消自定义的别名命令 unalias no

    12. 系统设置命令

      1. yum -y install net-tools 安装net-tools工具

      2. yum -y remove net-tools 卸载net-tools工具

      3. yum -y install zip unzip

    13. 网络通信命令

      1. ifconfig 查看网卡地址(需要先安装net-tools工具)

      2. hostname 查看主机名称

      3. ping+ip地址 虚拟机与本机通信连接情况(虚拟机命令下+本机ip地址,本机命令下+虚拟机ip地址)

      4. 启动网卡 ifconfig eth0 up

      5. 禁用网卡 ifconfig eth0 down

    14. 文件进行匹配模式查找命令(grep)

      1. grep+[-c]+[-n]+[-v]+[-i]+查找的操作符(包括字段,需要使用引号)+文件名 grep -c 'g' a.txt 表示从a.txt中查找字母g的数量

        1. -c 表示显示匹配的计数

        2. -n 表示显示匹配行及行号

        3. -v 表示不包含匹配行的的所有行

        4. -i 不区分大小写

        5. 参数组合

      2. grep+"正则表达式"+文件名 grep -v "^$" 表示查找不包括空行

        1. ^[a-zA-Z0-9] 表示以任意字母数字开头 grep '^[g]' a.txt 在a.txt中查找以字母g开头的所有行

        2. [a-zA-Z0-9]$ 表示以任意字母数字结尾 grep '[g]$' a.txt 在a.txt中查找以字母g结尾的所有行

        3. [^a-zA-Z0-9] 表示不以任意字母数字 grep "[ ^ g ]" a.txt 在a.txt中查找不以g开头的所有行

      3. grep+"正则表达式"+文件名+|+grep+"正则表达式" 使用管道|进行连接查找,可以结合-c或-n或-i或-v使用

      4. grep+-r+test+/root/* 表示从root下查找单词为test的文件

      5. grep+"o*"+文件名 表示会显示所有文件文本(着重会显示≥1个带有o的文本)

      6. grep+"oo*"+文件名 表示会显示带有≥一个o的文件文本

      7. grep+"..o"+文件名 表示会着重显示o前面有两个字符的文件文本

      8. grep+"o\ {2 \ }"+文件名 表示出现2个o的文件文本

      9. grep+"o\ {2,\ }"+文件名 表示出现≥2个o的文件文本

      10. grep+"o\ {2,3\ }"+文件名 表示出现≥2个o≤3个o的文件文本

    15. 文件位置查找命令

      1. find+路径+ -name+匹配模式 find / -name "*.txt"

      2. find+路径+ -perm+权限参数 find / -perm 777 find / -perm u=rwx,o=rwx

      3. find+路径+ -group+组名 find / -group t1000

      4. find+路径+-user+用户主名 find / -user t1000

      5. find+路径+ -mtime+ -n 表示查询更改文件n天以内的 find / -mtime -5

      6. find+路径+ -mtime+ +n 表示查询更改文件n天以外的 find / -mtime +5

      7. ln+-s+源文件(或目录)+链接到的文件(或目录) 创建链接文件(目录),不加-s表示硬链接 ln -s test test1表示将目录test链接到test1

      8. find+路径+ -type+[b] [d] [c] [p] [l] [f]t 查找某一类型的文件 find / -type b

      9. find+路径+ -type+[b] [d] [c] [p] [l] [f]+ -size(查找文件为n块的文件,如果n=1,表示小于1块,如果n=2,表示2块,带上c表示文件以字节计算,每块512字节) 查找某一类型具体大小的文件 find / -type d -size +10k

        1. b 块设备文件

        2. d 目录

        3. c 字符设备文件

        4. p 管道文件

        5. l 符号链接文件

        6. f 普通文件

      10. find / -name *.txt -exec rm -rf {} \ 表示查找根目录下后缀名为.txt的文件,并删除

    16. 系统资源查看命令

      1. top 查看系统CPU、内存使用情况等

      2. top & 后台运行top

      3. ps 查看系统进程

        1. ps -ef | more 分页显示进程信息

        2. ps -ef | grep 1190 显示进程信息并查看进程号为1190

        3. kill -9 进程号 结束进程

        4. free 查看内存情况

      4. netstart an|grep 8080 查看端口号为8080

    17. 磁盘管理命令

      1. df 查看磁盘使用情况

      2. du 查看文件已有容量

    18. 备份压缩命令

      1. zip+[-r]+自定义的zip文件名+需要打包目录或文件(保留原文件) zip file.zip test表示将test目录打包并取名file.zip -r表示递归压缩

      2. unzip+zip文件名 解压 unzip file.zip 解压file文件

      3. gzip+[-r]+文件名 压缩成gz文件(不保留源文件) gzip a.txt 将文件压缩成gz

      4. gunzip+gz文件 解压 gunzip a.txt.gz 将a.txt.gz文件解压

      5. tar+zcvf+自定义的.tar.gz文件+目录名 tar zcvf file.tar.gz test表示将test目录打包压缩并取名file.tar.gz

      6. tar+zxvf+已经定义的.tar.gz文件+[-c]+[目录地址] tar zxvf file.tar.gz 表示将file.tar.gz文件解压 -c表示压缩的文件指定到需要的目录地址

    19. 试题额外命令

      1. 将文件a从一台linux机器拷贝到另外一台linux机器 scp+源文件+用户名@ip地址+:远程路径 scp a root@192.175.3.1:/root/

      2. systemctl stop firewalld 关闭防火墙

      3. systemctl disable firewalld 禁用防火墙

      4. ps -ef | grep firewalld 查看防火墙进程

      5. systemctl start firewalld 开启防火墙

      6. systemctl status firewalld 查看防火墙状态

    20. 日期时间命令

      1. cal 日历

        1. cal 2011 查看2011年的日历

        2. cal 03 2011 查看2011年3月的日历

      2. date 日期

        1. date 查看系统日期

        2. date -s 01/13/2011 修改系统日期为2001年1月13日

        3. date -s 10:00:04 修改系统时间为10点00分04秒

        4. clock --systohc 将时间保存到硬盘

      3. time sh myshell.sh 运行myshell.sh这个脚本所花的时间

      4. wall hello 广播hello

    21. 系统信息查询

      1. whoami 查看自己是谁

      2. who am i 查看自己账户及登录信息

      3. who 查看当前系统在线用户

      4. last 查看这个月的用户登录信息

      5. hostname 查看主机名

      6. uname [-a] 列出系统信息,加上-a表示列出所有系统信息

      7. id 查看自己以及所属组的信息

      8. groups 查看自己属于哪些组

      9. history 查看历史

        1. history [数字n] 查看最后的n条数据

        2. history | tail -10 显示最后10行历史

  8. linux下安装zbox(在线编写用例)

    1. 使用fz文件上传ZenTaoPMS.9.7.stable.zbox_64.tar.gz至/opt目录下

    2. linux/opt下解压文件 tar -zxvf ZenTaoPMS.9.7.stable.zbox_64.tar.gz

    3. 关闭防火墙 systemctl stop firewalld

    4. 禁用防火墙 systemctl disable firewalld

    5. 切换到zbox目录 cd zbox

    6. 执行zbox ./zbox start 关闭zbox可以使用./zbox stop

    7. 打开谷歌 输入linuxip地址,打开禅道系统(在线编写用例)

  9.  

  10. 连接Linux服务器

  11. PUTTY连接,(多用于操作命令),操作步骤如下:

    1. 在Host Name(or IP address)出输入连接虚拟机的ip地址.

    2. 设置字体change settings→windows→appearance→font

    3. 保存 change settings→选中default settings→save

  12. fileZilla连接 (多用于window向Linux拖动文件)

    1. 选中文件下的机箱图标(站点管理器)

    2. 常规设置 主机(ip地址)、协议(SFTP-SSH...) 、输入用户名跟密码

  13. 虚拟机的网络适配器的网络间接模式

    1. 桥接模式 主机与虚拟机都可以访问外界

    2. NAT模式 虚拟机需要借助主机访问外界

    3. 仅本机 虚拟机跟主机都不可以访问外界,两者相互联系.

  14. linuxShell

    1. Shell的输入输出

      1. 使用echo命令输出系统中SHELL echo $SHELL

      2. echo命令输出系统中PATH变量的取值 echo $PATH

    2. echo的常用功能: \c不换行 \f不进纸 \t跳格 \n换行

    3. 将转义字符生效 需要添加 -e

    4. 常用的特殊字符 双引号(" ") 反引号(``) 反斜线\

    5. read命令从键盘或者文件的某一行文本中读入信息,并将其赋给一个变量.

      1. 如果只指定一个变量,read会把所有的输入赋给该变量

      2. 如果输入的是多个值的个数多个变量个数,多余的值会赋给最后一个变量

    6. read读取的是一个变量,在输出变量的时候需要添加$符号

    7. 文件重定向

      1. command>file 标准输出重定向到一个文件,错误仍然输出屏幕(如果文件中有内容直接替换)

      2. command>>file 标准输出重定向到一个文件(如果文件中有内容直接追加)

      3. command 1>file 标准输出重定向到一个文件

      4. command 2>>file 标准错误重定向到一个文件(追加)

      5. command>file 2>&1 标准输出和标准错误一起重定向到一个文件(替换)

      6. command>>file 2>&1 标准输出和标准错误一起重定向到一个文件(追加)

      7. command< file 1 >&file 2 以file1作为标准输入,file2作为标准输出

      8. command<file 以file作为文件标准输入

    8. Shell后台执行命令

      1. crontab,

        1. 几个域如下:

          1. 第一列 分钟1~59

          2. 第二列 小时1~23

          3. 第三列 日1~31

          4. 第四列 月1~12

          5. 第五列 星期0~6(0表示星期天)

          6. 第六列 表示要运行的命令

        2. 说明一下任务的目的:

          1. 45 4 1,10,22 * * /apps/bin/backup.sh 表示在每月的1号10号22号的下午4点45分的执行

          2. 10 1 * * 6,0 /apps/bin/backup.sh 表示在周末和周六的1点10分的时候执行

        3. 创建一个crontab任务,要求每小时前五分钟每分钟输出一次 1,2,3,4,5 * * * * echo "hello"

      2. at

        1. 首先没有at命令时,需要安装at yum -y install at

        2. 重启atd systemctl status atd(已经安装过后使用的无需重启)

        3. 设置at命令执行时间 at 11:30

        4. 设置at命令的内容,比如删除 rm -rf /root/log

        5. 显示设置at命令的信息 atq

        6. 查看当前单个任务 at -c id号

        7. 删除任务 at -r id号

      3. &

    9. 系统变量

      1. 创建临时系统变量

        1. 创建变量 class="18"

        2. 输出临时变量值 echo $class

        3. 影响子shelll变量 export class

        4. 显示这个变量以及变量值 env | grep class

      2. 创建永久系统变量

        1. 打开profile vi /etc/profile

        2. 写入变量 class="20"

        3. 影响父shell变量 source /etc/profile

        4. 输出变量值 echo $class

        5. 影响子shell变量 export class

        6. 输出变量及变量值 env | grep class

    10. 用户变量

      1. 临时用户变量

        1. 创建变量 age=10

        2. 输出变量值 echo $age

        3. 输出变量及变量值 set | grep age

      2. 永久用户变量

        1. 打开.bash_profile vi .bash_profile

        2. 写入变量 age=11(可以写入只读变量 readonly age=20)

        3. 输出变量值 echo $age

        4. 影响父shell变量 source .bash_profile

        5. 输出变量及变量值 set | grep age

        6. 清除变量(系统变量同样) unset age

    11. 位置变量(属于只读变量)

      1. 打开文件并编辑(有就打开,没有就创建)

      2. 声明脚本 #!/bin/bash

      3. 声明脚本的名字 echo "The script name is:$0"

      4. 声明脚本的第1个参数 echo "The first parameter is:$1"

      5. 声明脚本的第2个参数 echo "The second parameter is:$2"

      6. 声明脚本的第3个参数 echo "The third parameter is:$3"

      7. 声明脚本的第4个参数 echo "The fourth parameter is:$4"

      8. 声明脚本的第5个参数 echo "The fifth parameter is:$5"

      9. 声明脚本的第6个参数 echo "The sixth parameter is:$6"

      10. 声明脚本的第7个参数 echo "The seventh parameter is:$7"

      11. 声明脚本的第8个参数 echo "The eighth parameter is:$8"

      12. 声明脚本的第9个参数 echo "The ninthparameter is:$9"

      13. 执行脚本,需要传入参数 sh would you like eat foot

    12. 向系统脚本传递参数

      1. 打开文件 vi testes/test

      2. find / -name $1

      3. ./testes/test profile(参数profile,也就是$1)

    13. 特定变量(只读变量)

      1. $# 传递到脚本的参数个数

      2. $* 以一个单字符串的形式显示所有向脚本传递的参数,与位置变量不同,此项参数可超过9个

      3. $$ 脚本运行的当前进程id号

      4. $! 后台运行的最后一个进程的进程id号

      5. $@ 与$*相同,但是使用时加引号,并在引导中返回每个参数

      6. $- 显示shell使用的当前选项,与set命令功能相同

      7. $? 显示最后命令的退出桩体,0表示正确,其他任何值表示错误.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!