Linux系统常用的基本命令

本文主要介绍Linux中常用的基本命令,简单实用,以供大家参考,如有错误,欢迎大家指出。下面开始介绍。

一、查看哪个用户登录的系统

1、users命令

2、whoami命令或者who am i命令

二、查看哪些用户在系统上工作

1、who命令

2、w命令

三、查看登录Linux系统所使用的终端

1、tty命令

四、显示操作系统的信息

1、uname命令:uname [选项]

其中,常用的“选项”如下:

-r:显示操作系统发布的版本信息

-s:显示操作系统名

-m:显示机器硬件名

 

-p:显示中央处理器类型

--all/-a:显示所有信息

-n:显示所用系统的主机名(也可用hostname命令)

 

-n-i或者-ni:显示所用系统的主机名和硬件平台名

    注意:可以使用help方法查看uname的所有可用选项。如下所示:

   

五、显示日历、日期、时间等

1、date命令:显示日期和时间,在其后加-R,可以显示时区

2、cal命令:显示日历

例1:cal 8 2018:显示2018.08月的日历

例2:cal 2018:显示2018年的日历

六、清除屏幕显示的信息

1、clear命令

2、Ctrl+L

七、切换用户与退出用户

1、su命令:切换用户

例如:su – root:切换到root用户

2、exit:退出当前用户

八、用户密码

1、passwd username:修改某用户的密码

2、passwd –S username或者passwd --status username:获取某用户的密码状态

九、显示某命令的简单说明

1、whatis [命令]

2、man –f [命令]

十、查看某命令的帮助文档

1、[命令] --help

2、man [命令]

例如:man date(注意:系统会进入一个Man Pages界面,man命令使用简述见十一)

十一、man命令使用简述

1、上下左右键进行移动,Home键跳转到第一页,End键跳转到最后一页。

2、:处输入/string,表示向下搜索string字符串。

3、:处输入?string,表示向前搜索string字符串。

4、q键退出Man Pages。

5、搜索没记全的命令:man -k [命令关键字]

十二、使用info命令获取帮助:info [命令]

注意:输入info [命令]之后,会进入一个Info Pages页面,q键退出此页面。

十三、查看当前目录的绝对路径

1、pwd命令

十四、切换命令的几个特殊含义

1、cd .:切换到当前目录

2、cd ..:切换到上一层目录

3、cd -:切换到之前的工作目录,相当于撤销操作

十五、复制命令:cp [选项] [文件] [复制后的文件]

常用的选项如下所示:

1、-i:防止不小心覆盖已经存在的文件或目录,在覆盖之前给出提示信息。

2、-r:递归的复制目录。

3、-p:保留一些特定的属性,如时间戳等。

4、-f:强制覆盖原有的文件。

十六、移动和剪切命令:mv(使用方法与cp命令类似)

十七、创建目录命令:mkdir

    如果创建的目录有很多个,可以加-p,意思为递归创建目录。

十八、创建文件命令:touch

在创建文件的过程中,如果文件名或者目录名已经存在,touch将该文件或目录的时间戳改为当前访问时的时间和日期。

十九、删除文件命令:rm [选项] [要删除的文件]

常用的选项如下所示:

1、-i:防止不小心删除有用的文件,在删除之前给出提示。

2、-r:递归的删除目录。

3、-f:强制删除。

注意:rmdir命令只能删除空目录,rm –r命令可以删除目录及子目录。

二十、确定文件中数据的类型

1、file命令

二十一、浏览正文文件内容

1、cat [文件]

2、cat –A [文件]:显示文件内容的同时还将显示文件中看不见的换行字符。

3、cat > [文件]:新建文件并输入内容。

4、head [文件]:默认显示文件的前十行

5、head –n10 [文件]:使用-n可以指定显示的行数,也可以—lines或者-代替。

6、tail [文件]:默认显示文件最后10行

    注意:使用-可以自定义显示的行数,使用-f或者—follow可以当正文信息发生变化时将变化的信息展示出来。

二十二、显示文件行、单词和字符数:wc命令

常用的选项如下所示:

1、-l:仅显示行数

2、-w:仅显示单词数

3、-c:仅显示字符数

二十三、浏览大文件:more命令

进入后,屏幕底部将会出现--More--(n%)”,n%是指已经显示文件内容地百分比。

1、空格键:向下移动一个屏幕;

2、Enter键:一次移动一行;

3、b键:往回移动一个屏幕;

4、h键:显示一个帮助菜单;

5、/string:向前搜索string;

6、n键:发现某个字符串的下一个出现;

7、q键:退出More Pages。

8、v键:在当前启动vi命令。

二十四、type识别bash的内置命令:type [选项] [命令名]

常用的选项如下所示:

1、-t:显示文件的类型(file为外部命令;alias为别名;builtin为bash的内置命令)

2、-a:列出所有包含指定命令名的命令,也包括别名。

3、-P:显示完整的文件名(外部命令),或者为内部命令。

二十五、列出某命令的类型相关信息

1、which命令

2、whatis命令

二十六、通配符

1、*:将匹配0个(即空白)或多个字符;

2、?:将匹配任何一个字符而且只能是一个字符;

3、[a-z]:将匹配字符a-z范围内的所有字符;

4、[^a-z]:匹配所有字符但是a-z范围内的除外;

5、[xyz]:匹配方括号中的任意一个字符;

6、[^xyz]:匹配不包括方括号中的字符的所有字符。

二十七、列出曾经使用过的命令:history命令

history命令显示结果的最左边是命令的编号,可以使用命令编号重新执行对应的命令。例如执行第1050行,!1050

现在想把上面命令中的-w改为-c执行可以使用下面的命令:^-w^-c

二十八、{}命令

1、同时创建多个文件:touch {a,b}.{csv,txt}

二十九、将一个命令的输出作为另一个命令的参数

1、echo “This computer system’s name is `hostname`”

2、echo “This computer system’s name is $(hostname)”

三十、使用Linux进行数学运算

1、num1=1;num2=2

   echo $[$num1 + $num2]

三十一、恢复一个特殊字符的原来字符:转义字符(\)

1、echo “$678”

   echo “\$678”

2、\也可以用作换行

三十二、单引号和双引号的区别

1、单引号:禁止所有的命令行扩展功能

2、双引号:禁止所有的命令行扩展功能,但以下特殊符号除外:$,`,\,!。

三十三、几个常用的快捷键

1、Ctrl + A:光标移动到命令行开始处;

2、Ctrl + E:光标移动到命令行结尾处;

3、Ctrl + U:删除到命令行开始处的所有内容;

4、Ctrl + K:删除到命令行结尾处的所有内容;

5、Ctrl + 箭头:向左向右移动一个字。

三十四、搜索文件和目录:find命令

1、find pathnames expressions actions各选项含义如下:

(1)pathnames:搜寻起始的绝对路径或相对路径;

(2)expessions:由一个或多个选项定义的搜寻条件;

(3)actions:当文件被定位之后需要进行的操作。默认打印出所有满足条件的路径到屏幕上。

2、在find命令中,可以使用如下的表达式(expressions)

(1)-name文件名:查找与指定文件名相匹配的文件。在文件名中可以使用元字符(通配符),但是他们要放在双引号之内。

(2)-size[+/-]n:查找大小大于+n、小于-n或等于n的文件。默认情况下,n代表512字节大小的数据块的个数。

(3)-atime[+/-]n:查找访问时间超过/低于/等于n天的文件。

(4)-mtime[+/-]n:查找更改时间超过n天不到n天或正好等于n天的文件。

(5)-user loginID:查找属于loginID名(用户)的所有文件。

(6)-type:查找某一类型的文件,如f(文件)或d(目录)。

(7)-perm:查找所有具有某些特定的访问许可位的文件。

3、find命令中可以使用如下的动作表达式(actions)

(1)-exec 命令 {} \;:在每一个所定位的文件上运行指定的命令。(反斜线与大括号之间必须要有一个空格)

(2)-ok 命令 {} \;:在find命令对每一个定位的文件执行命令之前需要确认。

(3)-print:当前路径名打印在屏幕上,默认方式。

(4)-ls:显示当前的路径名和相关的统计信息。

三十五、重定向到文件中

1、>:覆盖原文件内容

2、>>:在原文件之后追加内容

三十六、重定向标准输出和标准错误

1、find / -name [命令] 1 > output.std:将命令路径追加到output.std中,控制台只打印出错误信息。

2、find / -name [命令] 2 > errors.std:将错误信息追加到errors.std中,控制台只打印出命令路径。

3、find / -name [命令] 2 > errors 1 > output:一条命令完成以上操作。

4、find / -name [命令] > output_errs 2 > &1或者find / -name [命令] & > output_errs:将所有信息导出到一个文件中。

三十七、将文件中的大写字母换成小写字母

1、tr ‘A-Z’ ‘a-z’ < [文件名]:结果直接显示在屏幕上。

2、tr ‘A-Z’ ‘a-z’ < winsql.sql > unixsql.sql:将winsql.sql中的大写字母换成小写字母后追加写入到unixsql.sql中。

3、tr –d “\r” < dept.data > dept.data.unix:删除dept.data文件每行结束符中的\r符号。并将文件存储到dept.data.unix中。

三十八、cut命令

剪切命令从一个文件中剪切掉某些正文字段并将它们送到标准输出显示。格式为:cut [选项] [文件名]。

常用的选项如下所示:

-f:说明(定义)字段列

-c:要剪切的字段

-d:说明(定义)字段的分隔符(默认为Tab)

注意:可在-f/-c/-d后面指定字段,如-f2/-c4-7

三十九、paste命令:粘贴命令

    将每一个文件中的每一行用Tab字符分隔开并排序的写到标准输出上。如果命令中没有文件名或文件名使用了-,paste命令将以标准输入读入。可以使用paste命令将多个文件合并成一个文件,如果在paste命令中使用了-d选项将更改输出的分隔符(默认是Tab)。paste命令中的选项使用方法与cut类似。

四十、sort命令

将正文内容进行排序并将结果送到标准输出,但是原始文件的值不会改变。其格式为:sort [选项] [文件名]。

常用的选项如下所示:

-r:进行反向排序(降序),r是reverse的第一个字母。

-f:忽略字符的大小写,f是folds的第一个字母。

-n:以数字的顺序进行排序,n是numeric的第一个字母。

-u:去掉输出中的重复行,u是unique的第一个字母。

-t:-t c表示以c作为分隔符。

-k:-k n表示按照第n个字段进行排序。

-k n1,n2:表示先按第n1个字段进行排序,当第一个字段重复时再按照第二个字段排序。

四十一、uniq命令:去掉文件中相邻的重复行

常用的选项如下所示:

-c:在显示的行前冠以该行出现的次数

-d:只显示重复行

-i:忽略字符的大小写

-u:只显示唯一的行,即只出现一次的行

四十二、使用管道符(|)操作符连接两个或多个Linux操作系统命令。语句为:命令1 | 命令2……

例如:who | wc –l

四十三、tee命令:分流输出

如果想将前一个命令的输出结果直接输入给后一个命令,同时还要将前面命令的结果存入一个文件,此时可以使用tee命令。

例如:cut –f1 –d: /etc/passwd | tee p.cut | sort –r | tee p.sort | more

解释:tee p.cut将管道送过来的数据第一列存入p.cut,同时通过管道将这些数据传到下一个命令进行反向排序,然后存入p.sort,传入到下一个命令more。

四十四、more /etc/passwd(查看passwd下的文件内容)

 

以冒号为分隔符对内容进行解析:

(1)用户的名字(在创建用户时,root用户起的);

(2)若为x,表示登录时必须使用密码,若为空,则无需提供密码;

(3)用户的uid;

(4)用户所属群组的gid;

(5)有关这个用户的注释信息;

(6)用户的home路径;

(7)用户登录后,第一个执行的进程。

四十五、more /etc/group(查看group下的文件内容)

以冒号为分隔符对内容进行解析:

(1)群组的名称;

(2)x表示登录群组时必须使用密码;

(3)群组的gid;

(4)群组里还有哪些成员。

四十六、权限

标号

释义

对应的数字

r

读权限

4

w

写权限

2

x

可执行权限

1

-

表示没有相应的权限

0

四十七、检查磁盘空间

1、df:显示文件系统中磁盘使用和空闲区的数量

2、du:显示磁盘使用的总量

3、df –h:列出每个系统(磁盘)的使用情况

对上图每一列的释义:

Filesystem:文件系统

Size:磁盘总空间

Used:已使用空间

Avail:可用空间

Use%:使用率

Mounted on:挂载点

4、df –i:列出每一个文件系统的i节点的使用情况

 

5、du –sh:某用户Home目录下所使用的全部磁盘空间信息。

四十八、diff命令:比较两个文件的差别

<表示第一个文件的数据行,>表示第二个文件的数据行。

例如:diff a.txt b.txt

四十九、压缩和解压缩:gzip/gunzip;bzip2/bunzip2

1、gzip [选项] [压缩文件名]

常用的选项如下所示:

-v:在屏幕上显示出文件的压缩比,v是verbose的第一个字母。

-c:保留原来的文件,而新创建一个压缩文件,其中压缩文件以.gz结尾。

2、使用tar命令的同时进行压缩(tar –zcvf [待压缩的文件])和解压缩(tar –zxvf [待解压的文件] –C [解压的目录])

z:使用gzip技术来压缩打包好的文件;

j:使用bzip2的技术来压缩打包好的文件。

五十、grep命令搜索文件中的内容

grep支持以下几种正则表达式的元字符,也称通配符。

(1)c*:将匹配0个(即空白)或多个字符c;

(2).:将匹配任意一个字符并且只能是一个字符;

(3)[xyz]:匹配方括号中的任意一个字符;

(4)[^xyz]:匹配不包括方括号中字符的任意字符;

(5)^:锁定行的开头;

(6)$:锁定行的结尾。

注意:在基本正则表达式中,元字符等已经失去了它们原来的意义,可以使用转义字符(\)。

语法格式:grep [选项] [模式] [文件名]。其中“模式”是指需要过滤出来的东西。

常用的选项如下所示:

(1)-c:仅列出包含模式的行数;

(2)-i:忽略模式中字母的大小写;

(3)-l:列出带有匹配行的文件名;

(4)-n:在每行的最前面列出行号;

(5)-v:列出没有匹配模式的行;

(6)-w:把表达式作为一个完整的单字来搜寻,忽略那些部分匹配的行。

五十一、vi编辑器:vi [选项] [文件名]

1、常用的选项如下所示:

(1)-r:恢复一个文件;

(2)-R:以只读方式打开一个文件。

2、插入模式:

(1)a:进入插入模式并在光标之后进行添加;

(2)i:进入插入模式并在光标之前进行添加;

(3)A:进入插入模式并在光标当前行之后进行添加;

(4)I:进入插入模式并在光标当前行之前进行添加;

(5)o:进入插入模式并在光标当前行之下开启新的一行进行添加;

(6)O:进入插入模式并在光标当前行之上开启新的一行进行添加;

3、命令行下修改、删除与复制的操作:

(1)cc:修改光标所在行;

(2)dd:删除光标所在行;

(3)yy:复制光标所在行;

(4)cl:修改光标所在字符;

(5)dl:删除光标所在字符;

(6)yl:复制光标所在字符;

(7)cw:修改光标所在字;

(8)dw:删除光标所在字;

(9)yw:复制光标所在字;

(10)p:将数据放置在当前行之下;(如果之前操作的数据是字符,意思为:将数据放置在光标之后)

(11)P:将数据放置在当前行之上。(如果之前操作的数据是字符,意思为:将数据放置在光标之前)

4、存储和退出

(1):w:将文件存入/写入磁盘;

(2):q:退出vi 编辑器;

(3):wq:将文件存入磁盘并退出vi 编辑器。

注意:可以在以上命令之后加上!,!是强制执行的意思。

5、快速移动光标在文件中的位置

(1)G:跳转到文件的最后一行;

(2)nG:跳转到文件的第n行;

(3)Ctrl+D:光标向下移动半个屏幕;

(4)Ctrl+U:光标向上移动半个屏幕。

五十二、使用rpm安装及移除软件

(1)rpm –i, --install:安装软件;

(2)rpm –U, --upgrade:升级旧版本的软件;

(3)rpm –F, --freshen:刷新/更新旧版本的软件;

(4)rpm –e, --erase:移除/删除软件;

(5)rpm –qa:显示目前操作系统上安装的全部软件包;

(6)rpm –qf [文件名]:这个文件是由哪个软件包安装的;

(7)rpm –qi [软件包名]:显示软件包的信息;

(8)rpm –ql [软件包名]:列出软件包中所包含的全部文件。

(9)-vh:表示显示详细的进度。

五十三、附录

1、基本知识

 

root:当前的操作用户;slave01:当前用户所在主机;opt:当前用户在哪个目录;#:root用户;$:普通用户。

2、ls:list列出某个目录下的文件

(1)ls –a:查看某目录下所有文件,包括隐藏。

(2)ls –l:以长格式方式显示某个目录下的文件,也可以用ll直接显示

3、用户和用户组

(1)超级用户:就是root用户,root用户的UID为0;

(2)普通用户:UID从500开始,由root创建,不止一个;

(3)伪用户:UID在1-499之间的都是伪用户,系统指定的一些进程,给它们也分配了一部分ID号,这部分伪用户不能够真正的登录,也没有目录。

(4)创建用户:useradd [用户名]

(5)创建用户组:groupadd [用户组名]。(创建用户的同时,会自动创建一个与其名称一样的用户组)

(6)修改用户密码:passwd username或者echo ‘password’ --stdin username。其中,stdin表示输入的意思。

(7)删除用户:userdel –r username。其中,-r表示彻底删除用户包括用户主目录。

(8)gpasswd命令:管理用户组成员,增加或者删除。-a表示为用户组加入一个已经存在的用户;-d表示将用户在组的某用户移除。

(9)useradd –G:创建一个新用户并加入到所属组。

4、用户文件和目录权限

(1)drwxrwxr-x:第一个字母为d代表目录,为-代表文件;第一个rwx代表所有者的权限,用u表示;第二个rwx代表所属组的权限,用g表示;r-x代表其他用户的权限,用o表示。

(2)权限类别

标号

释义

对应的数字

r

读权限

4

w

写权限

2

x

可执行权限

1

-

表示没有相应的权限

0

(3)chmod命令:修改文件或目录的权限命令。字母用法:chmod u+x,g+w,g-r,o+x fileName;数字用法:chmod 764 –R filename/。其中-R表示递归修改文件的权限。

(4)chown命令:修改文件的所有者或所属用户。例如:chown username /opt/1.txt。

(5)chgrp命令:修改文件或目录的所属组用户。例如:chgrp username /opt/1.txt。

(6)一条命令同时修改所属用户和所属组:chown –R username:username /opt/1.txt。

5、管道符(|)

管道符表示将前一个命令的结果传递给后一个命令进行处理,两边都是命令。

例如:过滤筛选(grep):cat /etc/passwd | grep ‘root’。

    注意:如果命令一行未结束的话,可以使用\进行换行。

6、find命令注意事项

(1)根据文件名搜索:find /etc/ -name *init???

注释:*号表示匹配任意的字符,?表示匹配单个字符。Linux中大小写是严格区分的,-iname表示不区分大小写。

(2)根据文件大小搜索:find /etc/ -size +2M

(3)根据所有者查找:find /root –user root。

(4)根据所属组查找: find /root –group root。

(5)根据文件类型进行查找:find /etc/ -name init* -type f。其中f代表文件,d代表目录。

7、配置sudo权限

# visudo

找到相关内容,编辑为:

root ALL=(ALL) ALL

username ALL=(root) NOPASSWD:ALL

注释:第一个ALL是指网络中的主机,我们后面把它改成了主机名。它指明了username可以在此主机上执行后面的命令。第二个括号里的ALL是指目标用户,也就是以税的身份去执行命令,最后一个ALL指命令名。

8、yum命令

(1)yum list:查看yum源上拥有的软件。

(2)yum list installed | more:查看系统中已经安装好的rpm包。

(3)yum list updates | more:查询可以更新的软件。

(4)yum –y install [包名]:安装某rpm包,包名不需要加.rpm的后缀。-y表示自动确认。

(5)yum –y remove [包名]:卸载某rpm包。

注意:推荐使用yum安装,使用rpm查询和卸载。

9、系统管理命令

(1)top命令:查看系统资源,相当于任务管理器,没隔三秒更新一次,q键退出。

(2)free命令:查看内存信息。-m指的是以MB的格式显示。

(3)df –l:查看硬盘分区的使用信息。

(4)ps –ef:查看系统进程;jps:查看系统正在运行的Java进程。

 

(5)kill命令:杀死正在运行的进程。例如:kill -9 [进程号]。

(6)ifconfig命令:查看系统中所有网卡的IP、MAC信息。

(7)netstat命令:查看网络端口。

-t:监控tcp协议的进程

-l:listening

-n:显示端口号信息

-p:显示进程的PID

 

你们在此过程中遇到了什么问题,欢迎留言,让我看看你们都遇到了哪些问题。

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页