Linux命令整理(2018/9/9-2018/9/15)

根据本周的Linux学习进度,整理了部分Linux知识及常用命令,待完善……

1、显示默认启动方式(默认启动目标):

systemctl get-default

2、设置默认启动方式(默认启动目标):
设置默认启动目标为命令行界面:
systemctl set-default multi-user.target
设置默认启动目标为图形化界面:
systemctl set-default graphical.target
注意:设置系统默认启动界面后,需要重启系统,才可生效。
在命令行界面下成功登录时,可以执行命令startx启动图形化界面,不过在注销之后仍返回到命令行界面。

3、注销:
命令行界面,命令logout,重新登录

4、关机:
shutdown、init、halt
命令:shutdown [选项] time
选项:
-H:停机(halt)
-r:关机后重启(reboot)
-P:关闭电源(power off)
参数time指定关机时间:
有两种格式,hh:mm或者+m,前者表示几点几分的时候关机,使用24小时制,比如shutdown 12:12,意思就是在12点12分的时候关机;后者表示在m分钟后关
机,其中有个特殊的参数,now,表示立即关机,等价于+0。

init是为了保持与System V系列系统兼容才保留的指令,它是改变运行级命令,格式是:
init <n>
执行该命令后,系统进入运行级n,当n=0时,进入运行级0,运行级0表示关机,也就是表示关机。

halt命令也是为了和System V系列系统兼容才保留的指令,只能由root用户执行,使用格式是:
halt [选项]
常用的选项-p表示在关机时同时关闭电源。如果计算机不能自动切断电源,当看到系统已停机提示时,可以手工切断计算机的电源。

还可以通过reboot、poweroff命令来重新启动系统或关闭系统。

在切断计算机电源之前,首先需要关闭Linux系统,绝不能不执行关闭操作就直接切断电源,这样可能会导致未存盘数据的丢失或者系统损害。
要按部就班的先把Linux系统关闭,再关闭虚拟机,再关闭电脑。

注意:有次没有关闭Linux系统就直接把虚拟机关闭了,下次再打开Linux系统的时候,就出现问题了,说找不到什么文件了,总之就是打开失败。
然后着急的我就重装了系统,费了九牛二虎之力好容易装好了,对于之前那个打不开的Linux系统,想着拯救一下,于是就百度了这个问题,居然找到了解
决办法,没有想不到,只有搜不到,链接在此,https://blog.csdn.net/buhuiguowang/article/details/78241188,根据方法,试着删了一下这个以.lck
为后缀的文件夹里边的文件,重新打开这个Linux系统,没想到居然打开了,真是幸运,而我装的第二个系统,也是有些多余了,真是出现了问题就要先解
决,这样以后出现的问题才会少。

5、显示shell版本(种类):
命令:chsh -l

也可以查看Linux的/etc(一些配置信息)目录下的shells文件中列出来的系统可以接受的shell以及它们的路径。
通过结果显示,Fedora28仅使用了bash这一种shell,可以通过命令bash -version来给出系统当前的bash版本信息。
命令:bash -version(或者bash --version)

系统变量$SHELL记录着系统当前正在使用的shell:
通过 命令 echo $SHELL 显示

注意:linux区分大小写,系统变量要用大写,而且前面使用$符号。

6、补充一下shell命令的基本格式:
命令名 [选项] <参数1><参数2>……
注意:[]内容可选;参数个数大于等于0;命令名是小写的。

7、对于单引号、双引号、不加引号的使用:
多数情况下,加上双引号为好。
对于空格而言,不加引号的空格无论多少个都被shell解释为一个空格,而加上引号的空格,就实事求是的讲,多少就多少。
还有空格也不要乱加,在合适的地方加合适的空格。

8、输入输出重定向
输入重定向符号:< ;输出重定向符号:> 和 >>
如果shell命令X需要从控制台输入数据,,那么执行命令X<file,就直接从file中读取所需的数据;若执行命令X有输出结果,那么执行X>file,则将输出结
果写入file文件中,而>和>>的区别就在于,如果file文件中有内容,输出结果是否覆盖file文件中的内容:使用>,则将file中原有数据清除,然后写入输
出结果,即覆盖;使用>>,不清除file文件中的原有数据,而是将输出结果追加到原有数据之后。

举个例子:
命令:ls -l,表示显示当前目录下的所有文件,并显示在屏幕上;
多句嘴:选项-l是显示文件的详细信息:文件类型,文件权限,硬链接的个数,所有者名,群组名,文件大小(单位字节),修改时间,文件名。
其中的文件类型有7种:d:目录;c:字符型设备;b:块设备;p:命名管道;f:一般文件;l:符号链接;s:套接字;
文件权限rwx表示可读可写可执行,用---表示不可读不可写不可执行;分为三部分:第一部分是文件拥有者的权限,第二部分是同群组的权限,第三部分是
其他非本群组的权限;权限可以使用三位二进制数转化的十进制数来表示,比如777就可以表示三个部分的权限都是可读可写可执行。扯远了~
命令:ls -l>lsresult,表示将当前目录下的所有文件信息都保存在lsresult文件中,并不显示在屏幕上,可以执行 cat leresult来查看文件内容,可以
看到和执行命令ls -l相同的效果。

9、管道

在Linux中,管道是一种先进先出(FIFO)的单向数据通道,管道符号 | 可以将多个命令组合到一起,即把前一个命令的输出传递到下一个命令的输入,最
终得到经过多个命令依次处理的结果。

举个例子:
命令lspci可以显示系统安装的所有PCI设备信息,命令grep可以检索数据中符合匹配条件的文本,通过管道符号 | 将lspci命令的输出结果传递给grep命令
作为输入,可以查找系统中是否安装了符合匹配条件的PCI设备。
lspci | grep VGA 表示查找系统中安装了含有VGA的PCI设备。

10、在命令后边使用选项 -h 或者 --help可以显示本命令的帮助信息。
注意:有些命令 -h 不可用,还有些命令只能在root下使用。

11、显示文件命令:
cat、head、tail、more、less
命令cat,格式:cat [选项] <file>……
选项:
-n(--number):由1开始对所有输出的行数进行编号,包括空行。
-b(--number-nonblank):和-n相似,不同的是,不给空行编号。
-s(--squeeze-blank):当遇到有连续的两行及以上的空行时,替换为一行空行。
-v(--show-nonprinting):显示不可打印字符(ASCII 表上的数字 0–31 分配给了控制字符,用于控制像打印机等一些外围设备,例如,12 代表换页/
新页功能,此命令指示打印机跳到下一页的开头;'\0' 字符串结束符;-1 EOF文件结束符)
此链接给出了ASCII 字符代码介绍:
https://www.jb51.net/shouce/autoit3/source/html/appendix/ascii.htm

命令head,格式:head [选项] <file>……
选项:
-n:显示文件前n行内容,默认不加就是前10行。
-c:显示c个字符,一个数字一个字符(注意12就是两个字符),一个回车符一个字符。

命令tail,格式:tail [选项] <file>……
选项:
-n:显示文件后n行内容,默认不加就是后10行。
-c:显示c个字符,一个数字一个字符(注意123就是三个字符),一个回车符一个字符。

命令more,格式:more [选项] <file>……
每次只显示一页,可以按 空格键 显示下一页,按 q 键 退出显示,按 h 键 显示帮助信息。
Ctrl+s:停止滚屏,Ctrl+q:恢复滚屏,Ctrl+c:退出命令(中断命令、适用于所有命令)
选项:
-n:指定屏幕显示的行数为n行。
-s:当遇到有连续两行及以上的空行时,输出一行空行代替。
+n:从第n行开始显示。

命令less,格式:less [选项] <file>……
选项:
-i:查找文件时忽略大小写。
-S:当某行的内容超过显示页面的宽度时,直接将超出的部分截断舍去,默认不加时,会把超出的部分折回来显示。

more和less的区别:
more命令结束之后,会将文件中的内容输出到屏幕上,而less其实是打开所看的文件,按 q 键 退出,在执行结束之后,不会输出内容;
还有less可以查看已经浏览的内容,可以往上翻,而more不可以,只能往下翻。

12、复制文件或者目录命令:
命令cp,格式:cp [选项] <source> <dest>(复制一个) 或者 cp [选项] <source>…… <directory>(复制多个)
选项:
-i:询问
-r:递归复制
-f:若目的地有同名文件存在,则在复制前先删除再进行复制(默认情况下,会询问,因为 cp 的别名为 cp -i 会询问,也可以取消这个别名,执行命令
unalias cp或者使用转义字符\cp,使用了转义字符,效果就是仅仅是表面含义,也就是说只有cp的作用,设置别名的命令alias cp="cp -i" 注意空格应该
包裹在引号里边,否则控制台会认为这是命令,但是这不是命令,还有=两边也不要留有空格,也会视之为命令,导致错误)
-a:尽可能的讲文件模式、所有者、时间标签、链接等信息照原样复制,并且递归的复制目录中的文件,所谓克隆便是如此。

13、删除文件命令(只能删文件,删目录另有其“人”):
命令rm,格式:rm [选项] <name>……
选项:
-i:询问
-f:强制删除
-r:递归删除目录下的内容

14、移动文件(所谓移动就是删除原来的建立新有的)或者重命名文件命令:
命令mv,格式:mv [选项] <source> <dest>(移动一个) 或者 mv [选项] <source>…… <directory>(移动多个)
选项:
-i:询问
-f:强制移动

15、创建目录命令:
命令mkdir,格式:mkdir [选项] <dirName>……
选项:
-p:若要建立的目录的上层目录还未建立,则一并建立上层目录。

16、删除目录命令:
命令rmdir,格式:rmdir [选项] <dirName>……
选项:
-p:若删除了指定目录,上层目录变成了空目录,则将上层空目录一并删除。

17、查看目录命令:
命令ls,格式:ls [选项] [<name>……](name最好用引号括起来)
选项:
-a:显示所有文件及目录,默认不加隐藏文件(以 . 开头的文件或目录)不会列出。
-l:ll和ls -l是一致的,显示文件的详细信息(之前啰嗦过了),对于文件名会有不同的颜色显示来区分文件的类型:浅蓝色代表符号链接(类似于
Windows下的快捷方式),会有个箭头指向源文件;红色表示压缩文件;绿色表示可执行文件(在Linux中可执行文件的图标是个菱形);灰色表示可执行文
件;蓝色表示目录;黑色表示出错误(比如说符号链接文件的源文件被删掉了,那么这个链接文件名将出现黑色底纹)
-R:递归显示目录下的文件。

18、查找文件或目录命令:
命令find,格式:find [path] [expression]
path于expression之间用-、(、)、,、或者!隔开。path不谢=写默认为当前目录,expression不写默认为-print
expression可以是文件名、文件大小、文件修改日期等等。
举个例子:find -name 1.txt 即查找当前目录下的1.txt的路径。

19、文件定位命令:
命令locate,格式:locate [选项] <search string>
选项:
-n<n>:至多显示n个(比如-n100,查找到的符合条件的至多显示100个)
-i:对大小写敏感。
-c 统计数目
-r <regexp>:正则表达式,regexp是POSIX正则表达式。
比如:
-r file$ 查找结尾为file的目录
-r ^\/file 查找以file开头的目录

20、文件内容检索命令:
命令grep,格式:grep [选项] <string> <file>……
选项:
-i:忽略大小写
-n:给出行号
-v:检索不包含给定字符串(可以使用通配符*,?等)或者模式的所有文本行。
-x:只显示严格匹配行(严格相等)
-c:统计行数

21、链接命令:
命令ln,格式:ln [选项] <source> <dest>
选项:
-s 创建软连链接(符号链接),默认情况下创建硬链接。
软链接和硬链接的比较:
硬链接和源文件有一个修改了,则另一个会同步修改,有一个被删除了,不影响另一个。
软链接和源文件有一个修改了,则另一个会同步修改,如果源文件被删了,那么软链接文件则打不开,如果软链接文件被删了,不影响源文件的使用。
软链接文件类型前面有个l,表示是软链接文件,还有它的文件名是浅蓝色的;而几种标识对于硬链接都是没有的。

22、创建文件或者改变文件时间的命令:
命令touch,格式:touch [选项] <file>……
选项:
-t<stamp>:设定文件的时间记录,例如:touch -t 1809151106 file或者touch -t 201809151106
-d <datestring>:根据datestring设置文件的日期和时间,必须使用引号包裹起来,例如:touch -d "11:06am09/15/2018" file

23、文件比较命令:
命令diff和diff3,格式:diff file1 file2 表示file2相对于file1变了哪?
其中一些标识符:a为addition 增加了 > ;c为change 变化了;d为delete 删掉了 <

24、文件排序命令:
命令sort,格式:sort [选项] [file]……(可以是多个文件,按照字母顺序打乱多个文件的顺序)
选项:
-d:按字母顺序排序
-n:按照字符串的数字值而不是文字进行排序
-r:按照反序,从大到小或者反向字符顺序
-k:按照关键字或者字段的位置排序(字段与字段之间用tab键隔开)

25、合并文件命令:
命令paste,格式:paste test1 test2 > test3 表示将test1和test2合并的结果保存到哦test3里边

26、计算器命令:
命令bc进入,quit或者exit退出。

27、显示文字命令:
命令echo,格式 echo [-n] <字符串>
选项:
-n:表示输出文字后不换行,默认不加换行。
字符串可以加引号(单引号、双引号),也可以不加引号,区别在于:加了引号,字符串原样输出;不加引号,其中的连续空格被视为一个空格等等。

28、显示日历命令:
命令cal,格式:cal [选项] [[月]年]
-s:以周天为一周的第1天显示,默认如此。
-m:以周一为一周的第1天显示。
-j:显示指定月中的每一天是一年中的第几天(从1月1日算起)
-y:显示出当年的完成日历。

29、日期时间命令:
命令date,格式:date [选项] [+FormatString]

30、清屏命令:
命令clear(相当于屏幕下滑)

31、辨析命令whoami、who、w、whereis:
whoami:显示当前用户
who:显示登录信息(包括用户名、哪个控制台还有登录时间)
w:是更为详细的登录信息
whereis:查看命令存档目录

猜你喜欢

转载自www.cnblogs.com/hxm3721/p/9650421.html