Linux常用命令-总结

    技术2022-07-11  73

    首次登陆提示符:

    超级用户:

    [root@localhost ~]#

    root表示登陆的用户,localhost表示计算机名,~表示所处的目录,#是root用户的提示符。

     

    普通用户:

    [moling570@localhost root]$

    Moling570表示登陆的用户,localhost表示计算机名,root表示所处的目录,$是普通用户的提示符。

     

    ~ 表示linux用户的家目录,每一个用户都有一个家目录,root的家目录/root, 普通用户的家目录如果未做指定,则在/home/下生成一个与之用户名相同的目录作为其家目录,如例子中的moling570用户家目录为/home/moling570

     

    Linux中的用户和组

    超级用户

    超级用户的ID:0,超级用户root是天神,可以进行任何操作。

    普通用户

    必须由超级用户创建,在redhat上ID:500~65535,在linux上通常对用户进行分组管理,普通用户未被赋予权限的情况下,只能享有普通用户权限以及它所在组的权限。普通用户创建时默认情况下会生成一个和用户名相同的组。

    系统用户

    系统用户是用于系统服务或系统程序的用户,拥有部分root权限,高于普通用户。

     

    Linux用户组

    Linux用户组内成员拥有组内所赋予的所有权限。

     

    其他

    用户配置文件:/etc/passwd

    组配置文件:/etc/group

    用户登陆身份:如果是远程终端登陆,则首次登陆时输入的用户名为登陆身份;如果是桌面环境,则查看桌面下的home图标,即开机登陆系统时输入的用户。

     

    Linux上的相对路径和绝对路径 

    绝对路径:以/开头,“/”是根,所有以/开头的都是绝对路径,如/home/bin

    相对路径:不以/开头,如 “cd ..”表示回到当前目录的上一层目录,如果当前目录在/下,

    “cd home”也是相对路径,进入当前目录下的home目录,“.”表示本级目录,”cd ./home”.

     

    Linux目录结构

    Linux分区查看:fdisk –l

    Linux系统是树形结构,最高一层是”/” 目录

     

    Linux上的设备类型

    字符设备:鼠标、键盘

    块设备:硬盘,U盘

    网络设备:网卡

     

    Linux文件类型

    目录文件:以”d”开头,directory

    普通文件:以”-“开头

    套接口文件:以”s”开头

    块设备文件:以”b”开头,block

    字符设备文件:以”c”开头

    链接文件:以”l”开头

     

    文件权限含义:

    drwxr-xr-x         4     root   root     4096  Mar 17 2017   vmware-tools-distrib

          ⑦               ⑥     ①      ②        ③            ④                         ⑤

    ⑦文件类型及权限:第一个字母表示文件的类型,后9位表示文件的访问权限。

    r:可读  ,w:可写,x:可执行,-:表示没有相应的权限;后9位3位为一组,按读写执行权限来排列。  -rw-r—r--:普通文件,所有者拥有可读可写权限,所属组和其他用户都只有可读权限。

    ⑥文件的连接数

    ①文件的拥有者

    ②文件的所属组

    ③文件的大小

    ④文件的最后一次修改时间

    ⑤文件的名称

     

    Linux基本操作命令

    1.历史命令滚动:↑↓

    2.查看历史命令:history,使用历史命令: !ID, 如!739,然后回车

    3.补全文件名、命令、路径:Tab键,如果含相同开头的文件名大于等于2个,一次Tab不会有反应,两次Tab之后会列出所有文件,再继续补全。

    4.切换目录:cd = change directory,语法:cd 路径

    5.显示当前目录:pwd

    6.用户切换:su

    1)root用户切换普通用户,不需要输密码,如su moling570

    2)普通用户切换root用户,需要输入密码,如su,表示切换到root用户,su – 表示切换到root用户并切换至root用户的家目录

    7.显示目录下的文件:ls

    1)ls –l:以列表方式显示文件,等同于ll

    2)ls –a:显示所有文件,包括隐藏文件,linux上的隐藏文件以”.”开头

    3)ls –al:以列表方式显示所有文件

    8.切换家目录

    1)cd

    2)cd ~

    9.帮助命令:--help, man

    1)用法:command --help  ,如:ls --help,将帮助信息打印到屏幕上

    2)man用法:man command,打开命令的帮助文件,退出帮助文件按q

    10.查看系统时间:date

    11.退回上一个登陆用户:exit

    12.取消当前操作:Ctrl+c

    13.注销系统:logout,redhat上无法使用,桌面环境使用快捷键注销:Ctrl+Alt+Backspace

     

    Linux命令类型

    1. 内置命令:运行速度快,不会产生进程,type命令查看时显示builtin

    2. 外置命令:运行时会产生进程,大部分命令都是外置命令,type命令查看时显示file

    3. 别名命令:是命令的别名

    此处 ls='ls --color=tty'

    查找命令位置:whereis –b command

    环境变量,就是路径。Linux中环境变量多个路径之间用“:”分隔。

    PATH=$PATH:$HOME/bin:/sbin

     

    Linux目录管理命令

    1. 创建目录:mkdir

    1)创建单个目录:mkdir 文件夹名

    2)创建多级目录:mkdir -p 文件夹/文件夹1/文件夹2/……

    3)创建同级的多个目录:mkdir 文件夹1 文件夹2 文件夹3

     

    2. 删除目录

    1)删除空目录:rmdir 文件夹名

    2)删除非空目录:rm -rf 文件夹名 ,-r表示递归,-f表示强制

     

    3. 移动文件或文件夹:mv,相当于剪切+拷贝,并且可以重命名

    用法:mv 源文件/源文件夹 目的文件/目的文件夹

    1)重命名文件或文件夹

    2)移动文件的同时修改名称

     

    4. 切换目录:cd

     

    5. 创建空文件:touch

    用法:touch 文件名

    6. 拷贝文件:cp,用法同mv,区别是cp之后源文件仍然存在

    用法:cp 源文件/源文件夹 目的文件/目的文件夹

    强制拷贝:cp -rf源文件/源文件夹 目的文件/目的文件夹

     

    文档内容处理命令

    1. 文本编辑器:vi,vim是vi的升级版本

    1)三种模式:

    一般模式:vi打开某个文件不做任何操作时是一般模式

    编辑模式:输入a,i, o进入文本编辑模式,在文本最下方出现--INSERT-- 字样

    命令模式:在一般模式下输入:然后在后面输入相应的命令

    模式之间切换:Esc键

    2)打开文本文件:

    打开文件光标置于首行:vi filename

     

    打开文件光标置于末行:vi + filename

     

    3)退出文本编辑器:

    末行命令模式输入以下命令

    :q  未做修改时,直接退出

    :q!  修改以后不保存,强制退出

    :wq  保存修改并退出

    :wq!  保存修改并强制退出

     

    4)vi新建文件

    - vi新建文件时给出文件名:vi filename

    - vi新建文件时不给文件名:vi 直接进入vi编辑器,编辑内容后保存退出时给文件名

     

    5) vi中的移动

    - 导航键移动

    - 移动至段首:{

    - 移动至段尾:}

    - 向上翻一屏:Ctrl+b

    - 向下翻一屏:Ctrl+f

     

    6)vi中的查找替换

    - 查找:从光标所在位置往下查找”/keyword”, 从光标所在位置往上查找”?keyword”;进入一般模式即可以直接查找;查找时移动,n,N

    - 替换:

    替换光标所在位置 ---  :s/p1/p2/g     p1:文本中需要替换的关键字,p2:替换后的关键字

    替换指定行 ---  :n1,n2s/p1/p2/g  n1,n2是文本中从第一行开始的编号来确定的

    替换所有 --- :%s/p1/p2/g

     

    7) vi中的复制粘贴(在一般模式下进行)

    复制光标所在行:yy

    复制光标开始的指定行数:nyy    n:表示需要复制的从光标开始的行数

    粘贴:p   将光标移到需要粘贴的位置,按p进行粘贴

    删除一行:dd

     

    2. 文本模式查找命令:grep

    1)用法:grep [-parameter] keyword filename

    常见参数:

    -c:只输出匹配行的计数。

    -i:不区分大 小写(只适用于单字符)

    -n:显示匹配行及 行号

    -v:显示不包含匹配文本的所有行

    2)grep下的精确查找:”\<keyword\>”

    3) grep下的范围查找:[]

    4) grep下的通配符

    “.”  表示任意一个字符

    “*” 表示0个或任意个字符

    5)grep下管道符(|)的使用

    管道符|连接多条命令,前一部分命令作为后一个命令的操作对象

     

    3. 文本内容排序:sort,只对文本内容排序输出,不会改变文本内容。

    用法:sort filename

     

    4.文本内容统计:wc

    用法:wc [-parameter] filename

     

    5. 文件查找:find

    用法:find [path] [-parameter] 文件名/用户名/组名   path:查找路径,不指定表示查找当前目录  find查找时的通配符:*, []

    1)按文件名查找:-name

    2)按用户查找:-user

    3)按组进行查找:-group

    4)按文件类型查找:-type x

    X:d,l,s,b,c,f(普通文件)

    5)find与-exec组合使用

    格式:-exec command {} \;    -exec之前命令的输出结果作为command命令的操作对象

     

    文件管理命令

    1. 打印文件内容:cat

    用法:cat [-parameter] finename

    常用参数:

    -v:显示控制字符

    -n:显示行号

    -b:不显示空白行

    显示多个文件:cat filename1 filename2 filename3

     

    2. 查看文件头部:head

    用法:head [-n] filename   n:指定显示的行数,不指定默认显示文本的前10行

     

    3. 查看文件的尾部:tail

    用法:tail [-n] filename   n:指定显示的行数,不指定默认显示文本的末尾10行

    追踪日志:tail -f filename,用于追踪日志的变化便于定位问题。

    例子:追踪/var/log/secure 日志,另起终端链接该主机,用户登陆信息会记录到secure中。

     

    4. 分页查看:more & less

    用法:more -n1 +n2 filename  n1:每页显示行数  n2:从第几行开始显示

    More查看是翻页:回车、空格、b

    Less用法更丰富,有点类似vi,在less查看时有参数可以使用。

     

    5. 修改文件访问权限:chmod = change mode

    用法:chmod [-R] 权限 file   R:表示递归

    r    w    x

    1    1    1     ----7 可读可写可执行

    1    1    0     ----6 可读可写不可执行

     

    u:文件所有者 g:文件所属组  o:其他用户  a:所有人

    增加权限: + (r,w,x)

    删除权限:-(r,w,x)

    直接赋予权限:=

     

    6. 修改文件所属组:chgrp = change group

    用法:chgrp [-R] 组名 文件名   R:表示递归

     

    7. 修改文件的所有者:chown = change owner

    用法:chgrp [-R] 用户名 文件名   R:表示递归

     

    查看用户所属组:id, groups

     

    8. 比较文件:diff

    用法:diff [-parameter] file1 file2

    生成补丁:diff -ruN file1 file2 > file3   以file2为基准,file3是补丁文件

    打补丁:patch file1 file3

    给当前目录所有文件打补丁:patch < file3

     

    9. 查看文件类型:file

    可以查看以下类型文件: - , d, b, c, l

     

    10. 查找命令:which & whereis

    用法:whereis command    --- 查找二进制文件、源代码、帮助文件

    用法:which command    --- 只查找可执行命令

    whereis -b = which

     

    [root@localhost ~]# free -m   查看内存使用情况和交换内存(swap)使用情况

                 total       used       free     shared    buffers     cached

    Mem:          1010        534        476          0         31        342

    -/+ buffers/cache:        160        850

    Swap:         4031          0       4031

    [root@localhost ~]# grep MemTotal /proc/meminfo   查看内存总大小

    MemTotal:      1035140 kB

    [root@localhost ~]# grep MemFree /proc/meminfo   查看空闲内存大小

    MemFree:        487160 kB

    [root@localhost ~]# uptime   查看负载,用户数,运行时间

     09:26:15 up 28 min,  4 users,  load average: 0.00, 0.04, 0.19

    [root@localhost ~]# cat /proc/loadavg  查看系统负载

    0.00 0.02 0.16 1/174 5508

    df, du   查看系统磁盘使用情况

     

    自动启动脚本文件:

    /etc/rc.local 

    /etc/rc.sysinit 

    /etc/rc.d/init.d

    用户和组管理命令

    用户配置文件:/etc/passwd

    用户组配置文件:/etc/group

    用户影子文件:/etc/shadow

    用户组影子文件:/etc/gshadow

     

    用户配置文件字段含义:

    moling570:x:500:500:Gracia:/home/moling570:/bin/bash

        ①         ② ③    ④      ⑤              ⑥                    ⑦

    ①:用户名

    ②:密码标识符

    ③:用户ID

    ④:用户所属组ID

    ⑤:备注信息

    ⑥:用户的家目录

    ⑦:命令行解释器

     

    查看系统支持哪些shell:cat /etc/shells

     

    时间戳转换:date

     

    用户相关命令

    1. 添加用户:useradd

    用法:useradd [-参数1] 参数值 -[参数2] 参数值 …… 用户名

    常用参数:

    -c:备注信息

    -d:登陆的家目录

    -e:账户的有效期

    -g:用户组

    -u:用户ID

    -s:指定登陆的shell

     

    2. 用户切换:su

     

    3. 用户密码修改:passwd

    1)root用户给普通用户添加初始密码:passwd 用户名

    2)root用户给自己修改密码:passwd

    3)普通用户给自己修改密码:必须有一个初始密码,修改的密码必须满足一定的复杂度

     

    4. 修改用户:usermod

    用法:usermod [-参数1] 参数值 -[参数2] 参数值 …… 用户名

     

    常用参数:

    -c:备注信息

    -d:登陆的家目录

    -e:账户的有效期

    -g:用户组

    -u:用户ID

    -s:指定登陆的shell

    注意:修改用户登陆目录以后导致用户登陆错误,将用户配置信息手动拷贝到修改后的目录可以解决。

     

    5. 删除用户:userdel

    用法:userdel [-r] 用户名

    -r: 删除时会同时删除用户家目录,不用r参数只删除用户信息

     

    组相关命令

    1. 添加组:groupadd

    用法:用法:groupadd [-参数1] 参数值 -[参数2] 参数值 …… 组名

    常用参数:

    -g:指定组ID

    -r:创建系统组

     

    2. 修改组:groupmod

    用法:groupadd [-参数1] 参数值 -[参数2] 参数值 …… 组名

     

    3. 删除组:groupdel

    用法:groupdel 组名

    注意:组下如果有用户,无法删除,只能删除空组

     

    系统管理命令

    1. 注销系统:logout

    Redhat:Ctrl+Alt+Backspace

    2. 重启系统:reboot

    3. 关机:shutdown

    立即关机:shutdown now

    4. 给命令取别名:alias

    1)查看系统命令别名:alias

    2)设置系统别名:alias 别名=’原始命令’

    如:alias rm1=’rm -rf’

    3)取消别名:unalias 别名

    如:unalias rm1

    5. 系统环境变量设置

    1)显示环境变量值:echo $环境变量

    2)使环境变量生效:export

    要让环境变量永久生效,将环境变量设置命令添加到系统配置文件中。(/etc/profile)

     

    6. 安装rpm包

    1)安装:rpm -ivh 安装包

    2)查询:rpm -qa | grep keyword

    3)卸载:rpm -e 安装程序名

    先查询是否安装相关软件,卸载时文件名是程序名

    4)升级:rpm -Uvh 升级包名

     

    7. 网络通信命令

    1) 查看ip地址:ifconfig

    修改ip地址:修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth0

    service 服务名 status   --- 查看服务状态

    service 服务名 start    --- 启动服务

    service 服务名 restart   --- 重启服务

    service 服务名 stop     --- 关闭服务

     

    2) 查看端口状态:netstat

     

    3)检查网络连通状态:ping

    ping ip

    ping 域名

     

    8. 磁盘情况查看

    1)查看系统磁盘使用情况:df

     

    2)查看当前目录磁盘使用情况:du -h

     

    9.系统资源查看

    1)动态查看系统进程状态:top,相当于windows任务管理器

    2)静态查询系统进程:ps

    ps -aux | grep “process”

    ps -elf | grep “process”

    杀进程:kill process_ID

            kill -9 process_ID

    3)vmstat  -  

     

    10. 文件打包压缩命令

    1)gzip和gunzip:对文件逐个压缩或解压,压缩包后缀名为.gz

    gzip -d file.gz = gunzip fil

     

    2)bzip2和bunzip2:同gzip,但是压缩比高于gzip,压出的文件更小,压缩包后缀名.bz2

     

    3) zip和unzip:能与windows系统兼容,压缩包后缀名为.zip

    用法:zip [-parameter] file.zip file(directory)

    解压:unzip file.zip

     

    4) 打包命令:tar

    - 打包:tar -cvf file.tar file(directory)

    解包:tar -xvf file.tar

    指定目录解包:tar -xvf file.tar -C path   C必须大写,path是指定的解包目录

    打包并调用gzip压缩:tar -cvzf file.tar.gz file(directory)解压缩(gzip): tar -xvzf file.tar.gz指定目录解压:tar -xvzf file.tar.gz -C path
    Processed: 0.013, SQL: 9