【JavaEE进阶】 Linux常用命令
本篇博客将对Linux常⽤命令进行一个简单的介绍,以方便后续Linux的操作。
文章目录
🍃前言
本篇博客将对Linux常⽤命令进行一个简单的介绍,以方便后续Linux的操作
🌴ls 与 pwd
🚩ls
语法:ls [选项] [⽬录或⽂件]
功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信息。
常⽤选项:
-
-a列出⽬录下的所有⽂件,包括以
.
开头的隐含⽂件。 -
-d将⽬录象⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。如:ls ‒d 指定⽬录
-
-k 以 k 字节的形式表⽰⽂件的⼤⼩。ls -alk 指定⽂件
-
-l 列出⽂件的详细信息。
-
-r 对⽬录反向排序。
-
-t 以时间排序。
-
-R 列出所有⼦⽬录下的⽂件。(递归)
例如
ls -l
小技巧:
- 使用
ll
可以快速查看当前路劲下的所有文件以及目录
🚩pwd
语法:pwd
功能:显⽰⽤⼾当前所在的⽬录
🎍cd
Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵目录树,每个节点都是⽬录或⽂件。
语法: cd ⽬录名
功能:改变⼯作⽬录。将当前⼯作目录改变到指定的⽬录下.
举例:
# 返回上级⽬录
cd ..
# 进⼊⽤⼾家⽬录
cd ~
# 返回最近访问⽬录
cd -
# 访问bin目录
cd bin/
为了更好的理解与使用该命令,我们有必要了解一下Linux的目录结构
🚩认识Linux目录结构
Linux是一个树型结构
还有⼏个特殊的⽬录:
- /称为根⽬录
.
称为当前⽬录..
称为当前⽬录的上级⽬录
访问时我们还有必要了解以下绝对路径和相对路径
- 形如:
/usr/share/tomcat/logs/
以根⽬录开头的,称为绝对路径. - 形如:
./logs
以.
或者..
开头的,称为相对路径.
在进行Linux命令输入时,博主有几个小技巧
- 使⽤tab键补全
我们敲的所有的Linux命令,都可以使⽤tab键来尝试补全,加快效率.
- 使⽤ctrl+c重新输⼊
如果命令或者⽬录敲错了,可以ctrl+c取消当前的命令
- 关于XShell下的复制粘贴
- 复制:ctrl + insert(有些电脑insert需要配合fn来按)
- 粘贴:shift+insert
🍀touch与cat
🚩touch
语法:touch [选项]… ⽂件…
功能: touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件。
举例:
🚩cat
语法:cat [选项] [⽂件]
功能: 查看⽬标⽂件的内容
常用选项:
- -n 对输出的所有行编号
🌲mkdir与rm
🚩mkdir
语法:mkdir [选项] dirname…
功能:在当前⽬录下创建⼀个名为“dirname”的⽬录
常⽤选项:
- -p,–parents可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多级⽬录
# 递归建⽴多个⽬录
mkdir –p test/test
🚩rm
语法:rm [-f-i-r-v] [dirName/dir]
功能:删除⽂件或⽬录
常⽤选项:
-
-f 即使⽂件属性为只读(即写保护),亦直接删除
-
-i 删除前逐⼀询问确认
-
-r 删除⽬录及其下所有⽂件
使用举例如下:
注意事项:
- 千万不要运⾏
rm -rf /
,尤其是在公司的⽣产服务器上.
🎄cp与mv
🚩cp
语法:cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
功能:复制⽂件或⽬录
说明:
- cp指令⽤于复制⽂件或目录,如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的目录,则它会把前⾯指定的所有⽂件或⽬录复制到此目录中。若同时指定多个⽂件或⽬录,⽽最后的⽬的地并非⼀个已存在的目录,则会出现错误信息
常⽤选项:
- -f 或 --force 强行复制⽂件或⽬录,不论目的⽂件或⽬录是否已经存在
- -i 或–interactive覆盖⽂件之前先询问⽤户
- -r递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理
- -R 或 --recursive递归处理,将指定⽬录下的⽂件及⼦⽬录⼀并处理
举例:
cp test1.txt test2.txt
🚩mv
语法:mv [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
功能:
- 视mv命令中第⼆个参数类型的不同(是目标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。
- 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬录名),它将所给的源⽂件或⽬录重命名为给定的目标⽂件名。
- 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄目标目录中。
常⽤选项
-
-f :force强制的意思,如果⽬标⽂件已经存在,不会询问而直接覆盖
-
-i:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖!
举例
mv test1.txt test2.txt
🍃tail
语法:tail [必要参数] [选择参数] [⽂件]
功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。
选项:
- -f 循环读取
- -n<⾏数> 显示行数
举例:
tail -10 test1.txt
🎋vim
vim 是⼀个知名的⽂本编辑器. 使⽤ vim 可以进⾏⽂本编辑了.
vim 就相当于 Windows 的记事本. 只不过功能⽐记事本强⼤⼀些.
🚩创建/打开文件
🚩进入插入模式
vim打开⽂件后默认是普通模式.普通模式下键盘的按键表⽰⼀些特殊功能的快捷键.(例如按j并不是输⼊字⺟"j",⽽是表⽰光标往下移动⼀⾏).
需要进⼊插⼊模式才能进⾏⽂本编辑.
使用i
键可以进⼊到插⼊模式.(左下⻆提⽰–INSERT–)然后就可以像记事本⼀样正常编辑了.
🚩保存
在插⼊模式下不能保存⽂件,需要先回到普通模式.按下 Esc 回到普通模式.
在普通模式下输⼊ :w
,再按下回⻋,即可保存⽂件.
🚩退出
在插⼊模式下不能退出,需要先回到普通模式.
退出时,分以下情况:
- ⽂件未修改:输⼊
:q
,再按下回⻋,即可退出 - ⽂件修改并保存:使⽤ :
wq
同时执⾏保存和退出. - ⽂件修改, 但不希望保存:使⽤
:wq!
进⾏强制退出
🌳grep、ps、netstat
🚩grep
语法:grep [参数]… [⽂件]…
功能:用于查找⽂件中是否包含指定字符串,并显⽰对应的⾏.
选项:
- -n<行数>显示的行数
- -w全字匹配.要求整个单词都完全相同的结果才能匹配出来,⽽不仅仅是⼀个单词的⼀部分.
- -r递归查找.可以搜索多级⽬录下的所有⽂件.
- –color⾼亮查找到的结果
- –include指定查找某些⽂件
- –exclude指定排除某些⽂件
举例使用如下;
grep "hello" Hello.java
🚩ps
语法:ps [参数]…
功能:⽤于查看当前系统上运⾏的进程
选项:
-
a 显⽰⼀个终端的所有进程
-
u 以⽤⼾为主的格式来显⽰程序状况
-
x 显⽰所有程序,不⽌是会话中的进程
-
e 显⽰所有进程,包括系统守护进程
-
f 显⽰完整格式输出
举例:
ps aux # 显⽰系统上所有的进程
ps aux | grep "进程名"
ps aux | grep "进程id"
🚩netstat
语法:netstat [参数]…
功能:查看系统上的⽹络状态.
选项:
- -a 显示所有正在或不在侦听的套接字
- -n 显示数字形式地址⽽不是去解析主机、端⼝或⽤⼾名
- -p 显示套接字所属进程的PID和名称
举例:
netstat -anp
netstat -anp | grep "进程名"
netstat -anp | grep "端⼝号"
🚩管道|
在前面的两个命令中我们可以看到这样一个符号|
我们称之为它为管道
管道是⼀种古⽼的"进程间通信"⽅式. 在 Linux 指令中可以使⽤ |
作为管道标记.
意思是将前⼀个指令标准输出的内容,作为第⼆个指令的标准输⼊内容.
使用举例如下:
ps -ef|grep "java"
ps -ef|head -10
tail -f log.txt|grep "Exception"
⭕总结
关于《【JavaEE进阶】 Linux常用命令》就讲解到这儿,感谢大家的支持,欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下
更多推荐
所有评论(0)