博主使用的Ubuntu
一、Xshell连接服务器
二、Linux常用命令
1.ls
语法: ls [选项] [⽬录或⽂件]
功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信息。
常⽤选项:
- -a 列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件。
- -d 将⽬录象⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。 如:ls ‒d 指定⽬录
- -k 以 k 字节的形式表⽰⽂件的⼤⼩。ls ‒alk 指定⽂件
- -l 列出⽂件的详细信息。
- -r 对⽬录反向排序。
- -t 以时间排序。
- -R 列出所有⼦⽬录下的⽂件。(递归)
命令后面还可以加 --help 来查询此跳命令后可以加什么
2. cd
Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵⽬录树,每个节点都是⽬录或⽂件。
语法: cd ⽬录名
功能: 改变⼯作⽬录。将当前⼯作⽬录改变到指定的⽬录下
举例:
#返回上级⽬录
cd ..
#进⼊⽤⼾家⽬录
cd ~
#返回最近访问⽬录
cd -
认识 Linux ⽬录结构
Linux 是⼀个树形⽬录结构
⼏个特殊的⽬录:
- / 称为根⽬录
- . 称为当前⽬录
- .. 称为当前⽬录的上级⽬录
💡
绝对路径 vs 相对路径
形如: /usr/share/tomcat/logs/ 以根⽬录开头的, 称为绝对路径.
形如: ./logs 以 . 或者 .. 开头的, 称为相对路径
💡
使⽤ tab 键补全
我们敲的所有的 Linux 命令, 都可以使⽤ tab 键来尝试补全, 加快效率
💡
使⽤ ctrl + c 重新输⼊
如果命令或者⽬录敲错了, 可以 ctrl + c 取消当前的命令
3. pwd
语法: pwd
功能:显⽰⽤⼾当前所在的⽬录
4.touch
语法: touch [选项]... ⽂件...
功能: touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件。
5.mkdir
语法:mkdir [选项] dirname...
功能:在当前⽬录下创建⼀个名为 “dirname”的⽬录
常⽤选项:
-p, --parents 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多级⽬录
举例:
💡
#递归建⽴多个⽬录
mkdir –p test/test1
6.rz 和 sz
rz代表上传文件
sz代表下载文件
输入后可能会让提升找不到命令,需要执行以下命令下载:
💡
apt-get install lrzsz
如果下载不成功,可能还需要执行这条语句,再执行上述命令:
💡
sudo apt-get update
rz举例:
💡
rz
sz举例:
💡
sz 文件名
7.查看文件内容
7.1 cat
语法:cat [选项] [⽂件]
功能: 查看⽬标⽂件的内容
常⽤选项:
-n 对输出的所有⾏编号
示例:
💡
cat test.txt
此命令会显示这个文件中所有的内容。
7.2 more
更具页来查询
空格 下一页
b 上一页
7.3 less
功能与more类似
page up向上翻页
page down 向下翻页
输入less过后就类似进入了阅读模式,只会存在文件内容信息,不能正常输入指令了。
想要退出这样的信息,一般就是这样的几个操作:
7.3.1 退出的套路
- ctrl+c
- 两次ctrl+c
- exit
- :q
- :q!
7.4 head和tail
head查看前n行
tail查看最后n行
head示例:
-n匹配hang
-c匹配字节数
tail和head写法一样
8.编辑文件
8.1 vi
有可能不是直接进入的编辑页面需要输入 i 进入编辑模式:
就可以正常编辑了:
退出先按Esc
输入指令:
💡
- :w 保存
- :q 退出
- :wq 保存并退出
- :q! 强制退出
- :wq! 强制保存退出
9.删除文件
9.1 rm
如果删除的目录中有文件需要输入:
💡
rm -r [目录名]
10.cp
语法:cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
功能: 复制⽂件或⽬录
说明: cp指令⽤于复制⽂件或⽬录,如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定的所有⽂件或⽬录复制到此⽬录中。若同时指定多个⽂件或⽬录,⽽最后的⽬的地并⾮⼀个已存在的⽬录,则会出现错误信息。
常⽤选项:
- -f 或 --force 强⾏复制⽂件或⽬录, 不论⽬的⽂件或⽬录是否已经存在
- -i 或 --interactive 覆盖⽂件之前先询问⽤⼾
- -r递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理
- -R 或 --recursive递归处理,将指定⽬录下的⽂件及⼦⽬录⼀并处理
11.mv
语法: mv [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
功能:
1. 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。
2. 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
3. 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄⽬标⽬录d中。
12. grep
语法:grep [参数]... [⽂件]...
功能:⽤于查找⽂件中是否包含指定字符串, 并显⽰对应的⾏
选项:
- -n<⾏数> 显⽰的⾏数
- -w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, ⽽不仅仅是⼀个单词的⼀部分.
- -r 递归查找. 可以搜索多级⽬录下的所有⽂件.
- --color ⾼亮查找到的结果
- --include 指定查找某些⽂件
- --exclude 指定排除某些⽂件
举例:
💡
grep "hello" Hello.java
13.ps
语法:ps [参数]...
功能:⽤于查看当前系统上运⾏的进程
选项:
- a 显⽰⼀个终端的所有进程
- u 以⽤⼾为主的格式来显⽰程序状况
- x 显⽰所有程序, 不⽌是会话中的进程
- e 显⽰所有进程, 包括系统守护进程
- f 显⽰完整格式输出
举例:
💡
ps aux # 显⽰系统上所有的进程
ps aux | grep "进程名"
ps aux | grep "进程id"
ps aux 一般都是配合起使用,然后使用grep对查询的结构进行查找
14. netstat
语法:netstat [参数]...
功能:查看系统上的⽹络状态.
选项:
- -a 显⽰所有正在或不在侦听的套接字
- -n 显⽰数字形式地址⽽不是去解析主机、端⼝或⽤⼾名
- -p 显⽰套接字所属进程的PID和名称
💡
netstat -anp
netstat -anp | grep "进程名"
netstat -anp | grep "端⼝号"
15.管道
管道是⼀种古⽼的 "进程间通信" ⽅式. 在 Linux 指令中可以使⽤ | 作为管道标记.
意思是将前⼀个指令标准输出的内容, 作为第⼆个指令的标准输⼊内容.
举例:
💡
ps -ef|grep "java"
ps -ef|head -10
tail -f log.txt|grep "Exception"