目录
🍃前言
🌴pwd 与 ls
🚩pwd
🚩ls
🎍cd
🌲mkdir与touch
🚩mkdir
🚩touch
🍀cat与rm
🚩cat
🚩rm
🎋vim
🚩打开文件
🚩进入插入模式
🚩保存
🚩退出
🎄cp与mv
🚩cp
🚩mv
🍃rz与sz
🚩rz
🚩sz
🍃tail
🌳grep、ps、netstat
🚩grep
🚩ps
🚩netstat
🚩管道 |
🍃前言
本篇博客将对Linux常⽤命令进行一个简单的介绍,以方便后续Linux的操作
🌴pwd 与 ls
🚩pwd
语法:pwd
功能:显⽰⽤⼾当前所在的⽬录(出来的是绝对路径)
当前是root用户,代表个人的文件夹,如果想查看这个路径上有什么内容,通过ls查看
🚩ls
语法:ls [选项] [⽬录或⽂件]
功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信息。
常⽤选项:
- -a列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件。
- -d将⽬录象⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。如:ls ‒d 指定⽬录
- -k 以 k 字节的形式表⽰⽂件的⼤⼩。ls -alk 指定⽂件
- -l 列出⽂件的详细信息。
- -r 对⽬录反向排序。
- -t 以时间排序。
- -R 列出所有⼦⽬录下的⽂件。(递归)
小技巧:
- 使用ll可以快速查看当前路劲下的所有文件以及目录(可用上述 ls-l 代替)
🎍cd
Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵目录树,每个节点都是⽬录或⽂件。
语法: cd ⽬录名
功能:改变⼯作⽬录。将当前⼯作目录改变到指定的⽬录下,可以跟绝对路径,也可跟相对路径.
例子:可以看到当前"/"这个路径下,有这些信息
注意:一般不要在"/"目录下操作,这是一个根目录
小结:
🌲mkdir与touch
🚩mkdir
语法:mkdir [选项] dirname…
功能:在当前⽬录下创建⼀个名为“java111”的⽬录
可通过cd进入到该目录:
常⽤选项:
- -p,–parents可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多级⽬录
🚩touch
上述通过mkdir新建的"java111"目录里面什么都没有,我们可通过touch来新建文件
语法:touch [选项]… ⽂件…
功能: touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件。
在"java111"新建一个"test.txt"文件:
🍀cat与rm
🚩cat
语法:cat [选项] [⽂件]
功能: 查看⽬标⽂件的内容
查看上述test.txt文件的内容:由于该文件什么都没有,即为空
还有其他命令也可查看文件内容:more,less(使用 ":q" 进行退出),head,tail
万能退出命令:crtl + c(都按几次,若不行想想其他办法)
🚩rm
语法:rm [-f-i-r-v] [dirName/dir]
功能:删除⽂件或⽬录
常⽤选项:
- -f 即使⽂件属性为只读(即写保护),亦直接删除
- -i 删除前逐⼀询问确认
- -r 删除⽬录及其下所有⽂件
使用举例如下:
当前temp目录下有两个txt文件
现要删除test.txt文件
注意事项:
- 千万不要运行rm -rf /,尤其是在公司的⽣产服务器上.
🎋vim
vim 是⼀个知名的⽂本编辑器. 使⽤ vim 可以进⾏⽂本编辑了
vim 就相当于 Windows 的记事本. 只不过功能⽐记事本强⼤⼀些.
🚩打开文件
编辑test.txt文件:
🚩进入插入模式
进入到编辑页面后,发现进行输入是输不进去的,点击小写的i切换到insert,进入到编辑模式即可
🚩保存
在插⼊模式下不能保存⽂件,需要先回到普通模式.按下 Esc 回到普通模式.
在普通模式下输⼊ :w
,再按下回⻋,即可保存⽂件.
🚩退出
在插⼊模式下不能退出,需要先回到普通模式.
退出时,分以下情况:
- ⽂件未修改:输⼊
:q
,再按下回⻋,即可退出 - ⽂件修改并保存:使⽤ :
wq
同时执⾏保存和退出. - ⽂件修改, 但突然不想保存:使⽤
:wq!
进⾏强制退出 - q!
通过cat命令查看文件内容:
🎄cp与mv
🚩cp
语法:cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
功能:复制⽂件或⽬录
说明:
- cp指令⽤于复制⽂件或目录,如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的目录,则它会把前⾯指定的所有⽂件或⽬录复制到此目录中。若同时指定多个⽂件或⽬录,⽽最后的⽬的地并非⼀个已存在的目录,则会出现错误信息
常⽤选项:
- -f 或 --force 强行复制⽂件或⽬录,不论目的⽂件或⽬录是否已经存在
- -i 或–interactive覆盖⽂件之前先询问⽤户
- -r递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理
- -R 或 --recursive递归处理,将指定⽬录下的⽂件及⼦⽬录⼀并处理
举例:当前java111目录下有一个temp目录和test.txt文件
现要将test.txt文件复制到temp目录下
🚩mv
语法:mv [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
功能:
- 视mv命令中第⼆个参数类型的不同(是目标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。
- 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬录名),它将所给的源⽂件或⽬录重命名为给定的目标⽂件名。
- 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄目标目录中。
常⽤选项
-
-f :force强制的意思,如果⽬标⽂件已经存在,不会询问而直接覆盖
-
-i:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖!
例子一:若移动的目标文件是目录,会移动到该目录下
当前的java111目录下有一个temp目录和test.txt文件,temp目录下有一个temp.txt文件
现要将java111目录下的test.txt文件移动到temp目录下
移动之后,java111目录下就只有temp目录了,而temp目录下多了test.txt文件
例子二:若目标是一个文件,则重命名
🍃rz与sz
🚩rz
功能:上传文件
将你所需要上传的文件直接拖到xshell客户端界面即可
拖完之后,还是是这样的,提示说没有rz这个命令,也就是说上传文件是通过rz来进行的,但是当前没有装rz这个命令,提示我们通过apt install lrzsz进行安装
安装rz命令:
安装之后,也可以直接输入"rz"命令,会弹出上传的文件选择框
例子:上传当前D盘下的content.txt文件
🚩sz
功能:下载文件
例子:将test1.txt文件下载到该桌面下
输入命令之后,会弹出选择框,选择你所需要保存该文件的位置即可。
查看桌面:
🍃tail
语法:tail [必要参数] [选择参数] [⽂件]
功能:⽤于显⽰指定⽂件从末尾查看内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。
选项:
- -f 循环读取
- -n<⾏数> 显示行数
举例:查看末尾10行的文件内容
与之对应的head,从头查看
🌳grep、ps、netstat
🚩grep
语法:grep [参数]… [⽂件]…
功能:用于查找⽂件中是否包含指定字符串,并显⽰对应的⾏.
选项:
- -n<行数>显示的行数
- -w全字匹配.要求整个单词都完全相同的结果才能匹配出来,⽽不仅仅是⼀个单词的⼀部分.
- -r递归查找.可以搜索多级⽬录下的所有⽂件.
- –color⾼亮查找到的结果
- –include指定查找某些⽂件
- –exclude指定排除某些⽂件
例子一:查询test1.txt文件中的"shdk"字符串
例子二:还是查询上述字符串,显示行数
🚩ps
语法:ps [参数]…
功能:⽤于查看当前系统上运⾏的进程
选项:
- a 显⽰⼀个终端的所有进程
- u 以⽤⼾为主的格式来显⽰程序状况
- x 显⽰所有程序,不⽌是会话中的进程
- e 显⽰所有进程,包括系统守护进程
- f 显⽰完整格式输出
举例:
🚩netstat
语法:netstat [参数]…
功能:查看系统上的⽹络状态.
选项:
- -a 显示所有正在或不在侦听的套接字
- -n 显示数字形式地址⽽不是去解析主机、端⼝或⽤⼾名
- -p 显示套接字所属进程的PID和名称
举例
🚩管道 |
在前面的两个命令中我们可以看到这样一个符号|
我们称之为它为管道
管道是⼀种古⽼的"进程间通信"⽅式. 在 Linux 指令中可以使⽤ |
作为管道标记.
意思是将前⼀个指令标准输出的内容,作为第⼆个指令的标准输⼊内容.
使用举例如下: