Linux命令
Linux命令
常用命令
命令 | 说明 |
---|---|
ls | 列出当前⽬录下的⽂件和⽬录 |
cd | 切换⽬录 |
pwd | 当前目录 |
vim | 编辑⽂件 |
mkdir | 创建新⽬录 |
rm -rf | 删除⽂件或⽬录 |
cp source target | 复制⽂件或⽬录, -r 参数为⽬录 |
mv source target | 移动⽂件或⽬录 |
cat | 查看⽂件内容 |
chomd | 修改⽂件权限 |
zip | 压缩⽂件 |
unzip | 解压⽂件 |
ps -ef | grep java | 查找所有包含 java 的进程 |
kill -9 PID | 强制杀死进程 |
top | 查看系统资源使⽤情况 |
df -h | 查看磁盘空间使⽤情况 |
nohup java -jar app.jar > output.log 2>&1 & | 后台启动 Java 应⽤,并将⽇志保存到指定⽂件 |
ping | 测试⽹络连通性 |
netstat -anp | grep 8080 | 查看端⼝占⽤情况 |
文件和目录
⽂件和⽬录是 Linux 系统中最基本的组成部分,下⾯是⼀些常⽤的⽂件和⽬录操作命令
ls列出⽬录内容
ls
:列出当前⽬录下的⽂件和⼦⽬录ls -l
:以列表形式显示详细信息,包括⽂件权限、所有者、⼤⼩和最后修改⽇期ls -a
:显示所有⽂件,包括隐藏⽂件(以.开头的⽂件)ls -lh
:以易读的格式显示⽂件⼤⼩(例如,⽤ K、M、B 表示)
1 |
|
cd切换目录
cd /home/heibanbai
:切换到指定的目录cd ..
:返回上一级目录cd ~
:切换到当前用户的主目录
1 |
|
pwd显示当前目录
pwd
:显示当前⼯作⽬录的绝对路径
1 |
|
mkdir创建目录
mkdir directory
:创建⼀个新⽬录。mkdir -p directory/subdirectory
:创建⼀个新⽬录和⼦⽬录
1 |
|
rm删除文件或目录
rm file
:删除⽂件。rm -r directory
:删除⽬录及其所有内容。rm -f file
:强制删除⽂件,不提示。rm -rf directory
:强制删除⽬录及其所有内容,不提示。
1 |
|
cp 复制⽂件或⽬录
cp source target
:复制⽂件。cp -r source target
:递归复制⽬录极其内容。
1 |
|
mv 移动⽂件或⽬录
mv source target
:移动⽂件或⽬录,也可以⽤来重命名⽂件。
1 |
|
cat 查看⽂件内容
cat file
:显示⽂件内容。cat file1 file2
:连接多个⽂件并显示内容。cat > file
:创建⼀个新⽂件并输⼊内容,按 Ctrl + D 保存退出。cat >> file
:追加内容到⽂件末尾。cat file1 file2 > file3
:合并 file1 和 file2 的内容,并将合并后的内容存储到 file3 中。
1 |
|
echo 输出⽂本
echo "Hello, World!"
:输出⽂本。echo "Hello, World!" > file
:将输出重定向到⽂件。echo "Hello, World!" >> file
:将输出追加到⽂件末尾。echo -e "Hello\nWorld"
:⽀持转义字符。echo -n "Hello, World!"
:不换⾏输出。echo $?
:显示上⼀个命令的退出状态。echo $SHELL
:显示当前 shell 的类型。
head 和 tail 查看⽂件头和尾
head file
:显示⽂件的前 10 ⾏。head -n 20 file
:显示⽂件的前 20 ⾏。tail file
:显示⽂件的最后 10 ⾏。tail -n 20 file
:显示⽂件的最后 20 ⾏。
vim 编辑⽂件
vim file
:编辑⽂件。i
:切换到插⼊模式。Esc
:退出插⼊模式。:w
:保存⽂件。:q
:退出⽂件。:wq
:保存并退出⽂件。:q!
:强制退出⽂件
chmod 修改⽂件权限
chmod 777 file
:赋予⽂件所有权限。
Linux 中的权限可以应⽤于三种类别的⽤户:
⽂件所有者(u)
与⽂件所有者同组的⽤户(g)
其他⽤户(o)
符号模式
符号模式使⽤字⺟来表示权限,如下:
读(r)
写(w)
执⾏(x)
所有(a)
例如:
chmod u+w file
:给⽂件所有者添加写权限。chmod g-r file
:移除组⽤户的读权限。chmod o+x file
:给其他⽤户添加执⾏权限。chmod u=rwx,g=rx,o=r file
:设置⽂件所有者具有读写执⾏权限,组⽤户具有读执⾏权限,其他⽤户具有读
权限。
数字模式
数字模式使⽤三位⼋进制数来表示权限,每位数字代表不同的⽤户类别(所有者、组、其他⽤户),数字是其各⾃权限
值的总和:
读(r)= 4
写(w)= 2
执⾏(x)= 1
tree 显示⽬录结构
tree :以树形结构显示⽬录。
tree -L 2 :只显示两层⽬录。
tree -d :只显示⽬录。
tree -a :显示所有⽂件和⽬录。
tree -a :显示所有⽂件和⽬录。
tree -h :以易读的格式显示⽂件⼤⼩。
1 |
|
whereis 查找命令
whereis 命令⽤来查找⽂件的位置,特别是⽤于查找⼆进制⽂件、源代码⽂件、和帮助⽂档的位置。它⽐ find 命令运
⾏得更快,因为 whereis 不会遍历整个⽂件系统,⽽是在⼀组预定义的路径中查找⽂件,这些路径通常包括 Linux 系
统上安装软件的标准位置。
基本⽤法: whereis [选项] 程序名 :
-b
:只查找⼆进制⽂件。-m
:只查找帮助⼿册的路径。-s
:只查找源代码⽂件。-u
:查找未分类的⽂件。
which 查找命令
which command
:查找命令的位置,前提是该命令在⽤户的 PATH 环境变量所指定的⽬录中。
⽹络和进程管理
ping 测试⽹络连通性
如果你本机的电脑连不上服务器,那结果⽆⾮两样,你本机的⽹络出问题了,或者服务器的⽹络出问题了,这时候就可以使⽤ ping 命令来测试⽹络连通性。
ping domain
:测试域名的连通性。ping IP
:测试 IP 的连通性。
netstat 查看⽹络状态
netstat -a
:显示所有的输⼊和输出连接,包括未处于监听状态的。netstat -at
:显示所有 TCP 连接。netstat -au
:显示所有 UDP 连接。netstat -l
:仅显示监听中的服务器端⼝。netstat -p
:显示进程 ID 和进程名称。netstat -s
:显示⽹络统计信息。netstat -n
:显示 IP 地址和端⼝号。netstat -tuln
:显示所有 TCP 和 UDP 连接的 IP 地址和端⼝号。netstat -antp
:显示所有 TCP 连接的 IP 地址和端⼝号,以及进程 ID 和进程名称。netstat -anp | grep 8080
:查看端⼝占⽤情况。
ps 查看进程
ps
:显示当前⽤户的进程。ps -ef
:显示所有进程。ps -ef | grep java
:查找所有包含 java 的进程。
kill 终⽌进程
kill PID
:终⽌指定进程。kill -9 PID
:强制终⽌指定进程。
top 查看系统资源
top
:显示系统资源使⽤情况, Ctrl + C 退出。
nohup 后台启动应⽤
nohup java -jar app.jar > output.log 2>&1 &
:后台启动 Java 应⽤,并将⽇志保存到指定⽂件。nohup command &
:后台启动命令。
链接
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。
默认情况下,ln命令产生硬链接。
硬链接
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软连接
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
1 |
|
从上面的结果中可以看出,硬连接文件与原文件的inode节点相同,然而符号连接文件的inode节点不同。
1 |
|
通过上面的测试可以看出:当删除原始文件后,硬连接不受影响,但是符号连接文件无效。
磁盘和分区管理
df 查看磁盘空间
df
:显示磁盘空间使⽤情况。df -h
:以易读的格式显示磁盘空间使⽤情况,例如 GB、MB 等。
du 查看⽬录⼤⼩
du
:估算⽂件或⽬录的磁盘空间使⽤量。du -ash /path/to/directory
:-s
汇总总⽤量,-h
以易读⽅式显示,不指定陌路默认为当前⽬录。du -sk * | sort -n
:列出当前⽬录下所有⽂件和⽬录的⼤⼩,并按⼤⼩排序。du -sk * | sort -rn
:列出当前⽬录下所有⽂件和⽬录的⼤⼩,并按⼤⼩逆序排序。
fdisk 分区管理
fdisk -l
:列出所有磁盘分区。fdisk /dev/sda
:对磁盘/dev/sda
进⾏分区。
系统信息和性能查看
uname 查看系统信息
uname
:显示系统信息。uname -a
:查看内核/OS/CPU 信息。uname -r
:查看内核版本。uname -m
:查看处理器架构,同 arch 命令。hostname
:查看主机名。who
:查看当前登录⽤户,同 who am i 。whoami
:查看当前⽤户名。cat /proc/version
:查看内核版本。cat /proc/cpuinfo
:查看 CPU 信息。uptime
:查看系统运⾏时间和平均负载
vmstat 查看系统性能
vmstat
:显示系统性能信息。vmstat 1
:每秒显示⼀次系统性能信息。vmstat 1 10
:每秒显示⼀次系统性能信息,共显示 10 次。 Ctrl + C 退出。
1 |
|
free 查看内存使⽤
free
:显示内存使⽤情况。free -h
:以易读的格式显示内存使⽤情况。free -m
:以 MB 为单位显示内存使⽤情况。
1 |
|
env 查看环境变量
1 |
|
date 查看系统时间
1 |
|
iostat 查看磁盘性能
1 |
|
sar 查看系统负载
sar -u 1 10
:每秒显示⼀次 CPU 使⽤情况,共显示 10 次。 Ctrl + C 退出。sar -d 1 10
:每秒显示⼀次磁盘 I/O 使⽤情况,共显示 10 次。 Ctrl + C 退出。
1 |
|
包管理
rpm -qa | 列出所有已安装的软件包 |
---|---|
rpm -qi package | 显示软件包的详细信息 |
rpm -ql package | 列出软件包的⽂件列表 |
rpm -qf /path/to/file | 查找⽂件属于哪个软件包 |
rpm -Uvh package.rpm | 升级软件包 |
rpm -e package | 卸载软件包 |
yum list | 列出所有可⽤的软件包 |
yum list installed | 列出所有已安装的软件包 |
yum search keyword | 搜索软件包 |
yum info package | 显示软件包的详细信息 |
yum install package | 安装软件包 |
yum update package | 升级软件包 |
yum remove package | 卸载软件包 |
yum clean all | 清除缓存 |
apt list | 列出所有可⽤的软件包 |
apt list –installed | 列出所有已安装的软件包 |
apt search keyword | 搜索软件包 |
apt show package | 显示软件包的详细信息 |
apt install package | 安装软件包 |
apt update | 更新软件包列表 |
apt upgrade | 升级软件包 |
apt remove package | 卸载软件包 |
apt autoremove | 卸载不再需要的软件包 |
apt clean | 清除缓存 |
蚂蚁🐜再小也是肉🥩!
“您的支持,我的动力!觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付