linux常用命令及用法(linux常用命令菜鸟教程),本文通过数据整理汇集了linux常用命令及用法(linux常用命令菜鸟教程)相关信息,下面一起看看。
本文将为您详细介绍常用的Linux指令、演示和一些基础知识的讲解。
目录
Ls文件命令pwd命令whoami命令cd命令相对路径和绝对路径哪个命令touch命令mkdir命令添加用户信任关系rmdir命令rm命令man命令cp命令mv命令edit cat命令echo命令重定向more命令less命令head命令tail命令流水线操作date命令cal命令find命令Grep指令zip指令/unzip指令tar指令bc指令uname指令shutdown指令stat指令三次Linux下的touch指令补充热键Linux-指令列表
Ls指令
语法:ls[选项][目录]
功能:ls有多种选择。对于目录,此命令列出该目录下的所有子目录和文件。对于文件,将列出文件名和其他信息。
Ls默认显示当前目录中的文件,不带选项。
选项:
-l:以列表的形式列出文件细节。
在Linux系统中,文件类型不是用文件后缀来区分的,而是用第一个字符来标识的。无论文件后缀是否为。c或者。txt或其他后缀,只有以-开头的文件才是普通文件。
d:目录文件,简称文件夹,我们可以在这个目录下新建文件file-:普通文件,分为文本文件、动态静态库、可执行程序等。l:软链接(类似Windows的快捷方式)B:屏蔽设备文件(如硬盘、光驱等。)P:管道文件C:字符设备文件(如屏幕等串行设备)-s: windows套接字文件。
今天我们集中讨论前两种类型的文档。
普通文件可以分为很多类型。为了兼容windows,方便我们大部分linux用户区分文件,我们还是习惯用后缀来表示不同文件的类型。但是,有些文件必须带有后缀,例如。用C语言写的C文件,需要特殊处理以后缀区分类型。
-a:显示目录中的所有文件都包含隐藏文件,以点开头的表示隐藏文件,其中一个点表示当前路径,两个点表示上一个路径。我们将在下面的光盘说明中解释和。
-d:像显示文件一样显示目录,但不显示目录中的文件。这里的点表示当前路径。
-R:列出子目录中的所有文件(递归),将列出目录中的所有文件。
-n:使用数字的UID和GID,而不是名称
还有一些其他的选项就不演示了,可以试试。
-1一行只输出一个文件-r反向排序目录-k以k字节的形式表示文件的大小。Ls -alk指定file -i输出文件的inode的索引信息。例如,ls -ai指定文件-t按时间排序。
文件指令
功能:文件类型
语法:file [file]
[king VM-12-11-centos ~]$ filecat . txt cat . txt:UTF-8 Unicode Text #是一个文本文件[king VM-12-11-centos ~]$ fileret #是一个目录文件ret: directory
Pwd命令
语法:pwd
功能:显示当前路径
Whoami指令
功能:显示当前用户
两种写作
光盘指令
功能:切换路径
用法:CD[要切换的路径]
Linux以多树结构管理文件。磁盘上的文件和目录形成一个目录树,每个节点就是一个目录或文件。根目录:/
相对路径和绝对路径
当我们需要查找文件时,必须知道文件的路径和文件名,比如查找text.c文件,因为每个节点只有一个父节点,从根目录到text.c文件的路径是唯一的。完整描述文件位置的路径是绝对路径,可以唯一标识一个文件。上面的pwd指令显示了绝对路径。
相对路径是:我们自己相对于目标位置的路径,不唯一。我们可以从不同的地方找到文件。
绝对路径:从目录到指定文件的路径,可以唯一标识文件。
相对路径:从文件到指定文件的路径,不能唯一标识文件。
命令cd可以通过相对路径和绝对路径切换路径。
您可以通过绝对路径切换到指定的目录。
您还可以在相对路径中切换,其中点代表更高级别的路径cd.切换到更高级别的目录,和cd././切换到更高级别的路径。
[king VM-12-11-centos Linux class]$ pwd/home/king/Linux class[king VM-12-11-centos Linux class]$ CD class code[king VM-12-11-centos class code]$ LSA . outret . txt test . c[king VM-12-11-centos class code]$ CD test[king VM-12-11-centos test]$ CD././p1 #切换到父目录的p1路径[kingvm-12-11-centos p1] $
有些朋友可能会有疑问。激光唱片.可以切换到下一个更高的路径,那么cd有什么用.我们已经在当前目录中,所以不需要切换。
这里我们用vim写一个hello Linux代码,通过gcc编译,生成一个a.out的可执行程序运行可执行程序,我们需要路径和文件名,点号可以表示它的路径,比下面的绝对路径方便很多。
cd又多了两种选择。
[king VM-12-11-centos Linux class]$ pwd/home/king/linuxclass[king VM-12-11-centos Linux class]$ CD ~ # CD ~进入工作目录,即[king VM-12-11-centos ~]$ pwd/home/king[king VM-12-11-centos ~]$ CD-# CD-返回最后访问的路径/home/king/Linux class。
哪个指令
语法:which[指令]
功能:指令的系统路径和相关信息。
[king VM-12-11-centos Linux class]$ which ls alias ls= ls-color=auto # alias:alias the instructions/usr/bin/ls #我们的指令都被系统简化了[king VM-12-11-centos Linux class]$ which ll alias ll= ls-l-color=auto # ll可以替换ls-l/usr/bin/ls[king VM-12-11-centos Linux class]$ which CD #同时我们发现指令
指令本质上是程序。在linux中,指令、命令和工具都是可执行程序,存储在普通文件中。Linux中的一切都是一个文件,我们的指令在bin目录下。
触摸命令
功能:新建一个文件,更改一个文件或目录的日期,包括访问时间和更改时间。先了解一下新创建的文件,我们会在文末介绍更改目录的日期。
注意,touch创建的是普通文件,不是目录文件,所以不能用cd访问。
[kingvm-12-11-centos测试] $ touchfile1file2file3 # Touch可以连续创建多个文件[kingvm-12-11-centos测试] $ touchfile4 #创建单个文件[kingvm-12-11-centos测试] $ ls file1file2file3file4
Mkdir指令
功能:创建一个新的目录文件
Mkdir还可以同时创建多个目录文件。可以访问cd,但是不能在一个目录文件下创建多个子目录。说明不能在这里创建。
选项-p:递归创建多个子目录。
添加用户信任关系
这里,tree指令以树的形式显示文件,并且需要yum。
yum intsall树
如果我们是普通用户,需要在前面加上sudo。sudo可以暂时提升权限,并以root用户身份执行相应的指令。
Su单独表示切换到root用户,需要输入root用户的密码。
[retvm-12-11-centos ~] $ su密码:#输入root密码[root VM-12-11-centos ret]# whoami #切换到Root用户Root[Root VM-12-11-centos ret]# Suret # Root用户可以直接切换到指定用户,无需输入用户密码[retVM-12-11-centos ~]$ whoami #现在我们切换到用户ret。
如果我们的sudo yum install -y树显示类似下面的指令,这意味着当前用户没有添加信任关系。
为了帮助用户以root身份添加信任关系,我们将我们的身份切换到root并执行以下指令来添加信任关系,然后我们可以sudo。
echo xxx all=(all)all /etc/sudoers(其中XXX代表用户名)
Rmdir指令
功能:删除空目录,即没有存放其他文件的目录。
P1在这里不是空的,所以不能删除。如果你想使用rm指令。
Rm指令
我们一般用rm命令删除文件,但是rmdir有点鸡。
功能:删除目录或文件。
选项:
-f:强制删除-r:以递归方式删除目录及其下的所有文件。
用R选项删除目录,然后我们的p1/p2/p3就被删除了。
如果我们想删除目录中的所有文件,而不是删除目录,只需添加通配符*
记住不要删除根目录。
Rm -rf/#切记不要用。递归删除根目录可能会使系统干涸。
人工指令
linux里面有很多指令。如果我们不记得某个指令的用途,我们可以问那个人。
选项:
1是一个普通的命令。
2是系统调用,如open、write等。(通过这个,至少你可以很容易的找到需要添加什么头文件来调用这个函数)
3是库函数,比如printf,fread4是特殊文件,即/dev下的各种设备文件。
5是指文件的格式,比如passwd,会解释这个文件中每个字段的含义。
6是留给游戏的,由每个游戏自己定义。
7附件里有一些变量,比如像environ这样的全局变量,这里有解释。
8是系统管理命令,只能root使用,比如ifconfig。
9内核程序
目前先来了解一下1和3。
Man也需要我们,普通用户加sudo。
yum install -y手册页
Man没有选项,默认解释说明。
[kingVM-12-11-centos文件11]$ man ls
q退出当前界面
$ man 3 printff #我们可以打印库函数
Cp指令
语法:CP[选项][源文件][目标文件][指定目录]
功能:复制文件或目录。
常见选项:
-f强制复制文件或目录,无论目标文件或目录是否已经存在
-r递归处理,处理指定目录及其子目录中的文件。
我们复制文件file11,同时将其命名为file。
默认情况下复制到当前目录,或者在末尾指定目录。
Mv指令
功能:移动或重命名文件。
用法:mv[选项][源文件][目标文件]
选项:
-f: Force force的意思是,如果目标文件已经存在,它将被覆盖而不询问。
-i:如果目标文件已经存在,将询问您是否覆盖它!
这里,我们将文件file11移动到文件目录。
如果mv后跟一个文件名而不是文件名,文件将被重命名。
例如,将文件file11重命名为change
计算机辅助教学
功能:文件内容
语法:cat[选项][文件]
选项:
-b:非空白输出行数。
-n:对输出的所有行进行编号。
-s:不输出多个空行。
回声指令
函数:将字符串显示到标准输出,即屏幕上,echo默认换行。
再直接的
我们能把字符串写入文件吗?
答案是肯定的。通过重定向,在字符串后添加符号和文件名,您可以将应该在标准输出中显示的字符串写入文件。如果文件不存在,它会自动创建一个文件,这就是输出重定向。
把应该在屏幕上显示的字符串写入目标文件,输出重定向会清空文件原来的内容,然后重写。
在撰写本文时,以前的hello Linux几乎被清空了。
如果要保留之前的内容并写入,需要添加一个重定向符号成为符号。
cat指令后不添加任何文件,默认情况下,从键盘读取内容并显示在显示器上,即屏幕上。
以前,cat显示文件的内容是通过输入进行重定向的。
[king VM-12-11-centos ~]$ cat file #这个符号可以省略AAAAAAABBBBBBCCCC。
更多说明
功能:类似于cat,一般用于内容较长的日志和文件。
选项:
-n:行号
问:退出更多
比如我在这里写一个文件,内容从0-1000行不等。
count=0;而[$ count-le 1000];do echo“hello $ { count }”;让数数;done cat.txt
1more会先显示部分内容,按enter继续阅读内容,按Q退出。但是more有个缺点就是只能关小,不能关大,所以我们一般不使用more命令。
较少指令
功能:文件的内容,少比多用法更灵活。可以使用[pageup][pagedown]等键的功能来来回回的浏览文件,少了之前不会加载整个文件。
选项:
-i:忽略大小写。
-N:显示行号
/string:搜索字符串的内容。
?字符串:向下搜索字符串的内容。
n:重复前面的搜索(和/或?相关)
n:向后重复先前的搜索(和/或?相关)
问:少退出
[king VM-12-11-centos ~]$ less cat . txt
我们输入/3搜索字符3,less会为我们标记字符3的内容。
还有其他选项可以直接尝试,这里就不演示了。我们就退出少界面q。
头部指令
功能:将文件内容的开头显示到标准输出,即在屏幕上,head默认显示前10行,不带参数。
选项:
-n行
[king VM-12-11-centos ~]$ headcat . txt #默认输出的前10行是hello 0 hello 1 hello 2 hello 3 hello 4 hello 5 hello 6 hello 7 hello 8 hello 9[king VM-12-11-centos ~]$ head-n5 cat . txt #指定输出的前五行hello 0 hello 1 hello 2 hello 3 hello 4[king VM-12-11-centos ~]$ head-5cat . txt # n hello 0 hello 1 hello 2 hello 3 hello
尾部指令
功能:用于显示指定文件末尾的内容。当我们日志的时候,一定是最新的内容,也就是从末尾开始,tail可以帮助我们获取最新的内容。
选项:
-f:循环读取
-n行号:显示行数。
Tail-f filename会在屏幕上显示filename中的最后一条内容,并且不仅仅是刷新,还能让你看到最新的文件内容,非常适合日志。
[king VM-12-11-centos ~]$ Tail cat . txt # Tail显示Hello 991 Hello 992 Hello 993 Hello 994 Hello 995 Hello 996 Hello 997 Hello 998 Hello 999 Hello 1000[king VM-12-11-centos ~]$ Tail-n5cat . txt #指定Hello 996 Hello 997 Hello 998 Hello 999 Hello 1000[king VM-12
然后我们可以显示文件的头部和尾部。如果我们想在文件中间显示内容呢?
例如,如果我们想显示第100行到第110行,有两种方法:
前110行通过重定向写入一个tmp临时文件,然后读取最后10行。但是这种方法需要重新创建文件,而且效率低,不浪费空间。
答案是肯定的,第二种方式是管道化运营。
流水线操作
使用管道时,默认情况下会隐式发生重定向。
# symbol
表示将执行结果传递给下一条指令的管道[king VM-12-11-centos ~]$ head-110 cat . txt
tail-10 hello 100 hello 101 hello 102 hello 103 hello 104 hello 105 hello 106 hello 107 hello 108 hello 109
日期说明
格式
%H:小时(00.23)%M:分钟(00.59)%S:秒(00.61)%X:相当于%H:%M:%S%d:天(01.31)%m:月(01.
[king VM-12-11-centos ~]$ date # date默认显示CST 2022年1月28日16:55:54[king VM-12-11-centos ~]$ date % s # date % s显示时间戳1643360162[king VM-12-11-centos $ date % F % X #以年、月、日、分钟的格式显示当前时间2022-01-2804: 56: 08 pm
我们可以加_来表示区别,但不能是空格。这个写法不对。
Cal指令
功能:日历
选项:
-3显示系统中上月、当月和下月的日历。
-y显示当前年份的年历。
默认情况下,Cal显示当月的日历。
[king VM-12-11-centos ~]$ cal-y 2021 #还可以指定年份来显示2021年的历书。
更多linux常用命令及用法(linux常用命令菜鸟教程)相关信息请关注本站,本文仅仅做为展示!