linux shell

关注公众号 jb51net

关闭
首页 > 脚本专栏 > linux shell > Linux常用命令

开发必备Linux常用的几个命令分享

作者:fking86

Linux作为一个高度成熟和强大的操作系统,拥有非常丰富的命令行工具,对于Java开发者来说,掌握一些常用的Linux命令可以大大提高工作效率,尤其是在服务器端开发时,本文小编给大家分享了一些常用命令,需要的朋友可以参考下

Linux中一些常用的命令

1.ls/cd/pwd 目录操作命令,用于查看和切换目录

1.1 ls

ls 列出当前目录的所有文件

ls -l: 列出文件的详细信息

ls -a: 列出当前目录的所有文件,包括隐藏文件

1.2 cd

cd /data/logs 切换到data/logs目录

cd …: 切换到上一级目录

cd ~: 切换到用户主目录

1.3 pwd

pwd 显示当前目录的绝对路径

pwd -L: 显示逻辑路径,即符号链接所指向的实际路径(默认选项)

pwd -P: 显示物理路径,即目录树的实际路径,不追随任何符号链接

2.mkdir/touch/rm/cp/mv 文件操作命令,用于创建、删除、复制和移动文件

2.1 mkdir

mkdir [目录名]: 创建新的目录

2.2 touch

touch [文件名]: 创建一个空文件

2.3 rm

rm [文件]: 删除指定的文件

rm -r [目录]: 递归删除指定的目录及其内容

2.4 cp

cp [源文件] [目标文件]: 复制文件
cp -r [源目录] [目标目录]: 递归复制目录

2.5 mv

mv [源文件] [目标文件]: 移动/重命名文件

3.cat/less/head/tail - 查看文件内容的命令。less可以分页查看。

3.3 cat 查看文件内容

cat [文件]: 从第一行开始显示文件内容

3.4 less 分页查看文件内容

less [文件]: 分页方式查看文件内容

并可以通过以下方式浏览内容:

3.5 head

head 文件名: 显示该文件中的前10行内容

head -n 20 文件名:显示该文件中的前20行内容

head主要参数:

-n 行数:指定查看前面多少行,默认为10
-c 字节数:按字节数查看文件开头
-q:隐藏文件名
-v:显示文件名

3.6 tail

tail 文件名: 显示该文件中的最后10行内容

tail -n 20 文件名:显示该文件中的最后20行内容

tail主要参数:

-n 行数:指定查看倒数多少行,默认为10

4.grep 在文件内搜索匹配指定正则表达式或字符串的内容

grep [选项] '字符串' filename
grep 'error' /var/log/syslog // 在syslog日志文件中查找包含'error'的匹配行。

grep的常用选项包括:

  • i:不区分大小写
  • -n:显示匹配行及行号
  • -C n:显示匹配行前后n行上下文
  • -v:显示不包含匹配文本的所有行
  • -w:整词匹配
  • -A n:显示匹配行后n行
  • -B n:显示匹配行前n行
  • -r:递归搜索目录中的文件

5.find 强大的文件搜索命令

find [搜索路径] [选项]
find /home -name "*.txt" #在/home目录下查找所有.txt文件

find有很多实用的选项,常用的包括:-

  • -name:按文件名查找
  • -size:按文件大小查找
  • -type:按文件类型查找(如f表示普通文件)
  • -atime/-mtime:按文件访问/修改时间查找
  • -user/-group:按文件属主/属组查找
  • -exec:对找到的文件执行指定命令
  • -delete:删除匹配到的文件

6.tar 打包和压缩文件的命令

6.1将文件打包

tar -cvf test.tar file1 file2 #打包文件
tar -tvf test.tar #查看打包文件的内容

6.2将文件压缩

tar -zcvf test.tar.gz file1 file2 #压缩打包
tar -zxvf test.tar.gz #解压缩

6.3其他常用参数

  • -c:创建打包文件
  • -v:显示运行过程
  • -f:指定打包文件名
  • -z:gzip压缩/解压缩
  • -j:bzip2压缩/解压缩
  • -x:解包或解压缩
  • -t:查看打包文件内容

7.vim/nano - Linux下的文本编辑器,用于修改配置文件

7.1 vim

vim 文件名

vim有三种工作模式:

vim的一些基本使用技巧:

vim支持大量快捷键组合,可以大大提高文本编辑效率,常用的包括:

缩进

7.2 nano

  • 打开文件:nano 文件名
  • 搜索:Ctrl+W,输入要搜索的词
  • 定位行数:Ctrl+C显示光标位置
  • 剪切文本:Ctrl+K
  • 复制文本:Ctrl+6
  • 粘贴文本:Ctrl+U
  • 撤销上步操作:Alt+U
  • 保存文件:Ctrl+O
  • 退出nano:Ctrl+X

8.ps/kill 查看和杀掉进程的命令

8.1 ps

ps: 显示出当前终端中运行的进程

ps aux: 查看所有进程,可以使用aux参数

ps命令常用的参数包括:

-a:显示所有进程
-u:显示指定用户的进程
-x:显示所有进程,不以终端为区分
-e:显示所有进程信息

-f:显示完整信息
-C:根据命令名显示进程

ps -C java # 查看java进程

ps输出中常见的字段含义:

8.2 kill

kill PID: 这里的PID是要终止的进程的进程ID。这将向该进程发送SIGTERM信号,请求终止进程。

kill -9 PID: 使用-9参数强制终止

kill命令支持发送多种信号,常用的信号包括:

9.top/htop 查看系统资源占用情况的命令

9.1 top

top [选项]

top命令在Linux系统中用于实时显示进程的资源占用情况,相当于Windows的任务管理器。直接在终端运行top命令将进入提示界面,实时显示所有进程的CPU、内存、交换分区等资源占用情况。

top命令选项:

-b      以批处理模式操作
-c      显示完整的治命令
-d      屏幕刷新间隔时间
-I       忽略失效过程
-s      保密模式
-S      累积模式
-i<时间>    设置刷新间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数>   循环显示的次数

在top状态下常用的快捷键:

h    显示快捷键帮助
k    终止一个进程
i     开/关忽略闲置和僵死进程
q    退出程序
r     重新安排一个进程的优先级别
S    切换到累计模式
s    更改刷新间隔时间,单位秒
f,F   从当前显示中添加或者删除项目
o,O   改变显示项目的顺序
l     切换显示平均负载和启动时间信息
m    切换显示内存信息
t     切换显示进程和CPU状态信息
c    切换显示命令名称和完整命令行
M    根据内存使用大小排序
P    根据CPU使用率进行排序 (默认排序)
T    根据时间/累计时间进行排序
w    将当前设置写入~/.toprc文件中
1    展开多核cpu显示

top命令显示的信息字段含义:

top -       系统当前时间
up       系统已开机多长时间
user      当前用户数
load average cpu平均负载,三个数值分别为,1分钟,5分钟,15分钟
Tasks    系统当前进程数,total:总进程数,running:正在运行的进程数,sleeping:睡眠的进程数,stopped:停止的进程数,zombie:僵尸进程数
%Cpu(s) cpu使用率,us:用户使用cpu百分百,sy:系统内核使用cpu百分百,id:剩余的cpu百分百
Mem     内存使用信息,total:总内存大小,free:空闲的内存,used:已使用的内存,buff/cache:缓存的内存大小
Swap    虚拟内存信息
PID     进程id
USER     进程所有者
PR       优先级
NI       nice值,负值表示高优先级,正值表示低优先级
VIRT       进程使用的虚拟内存总量
RES       进程使用的物理内存大小
SHR       共享内存大小
S        进程状态,D:不可中断的睡眠状态,R:运行,S:睡眠,T:跟踪/停止,Z:僵尸进程
%CPU      进程使用的CPU占用百分比
%MEM      进程使用的物理内存百分比
TIME+      进程使用的CPU时间总计
COMMAND   命令名

9.2 htop 与top类似

htop的一些主要交互键:

F1 - 帮助
F2 - 显示/隐藏进程树
F3/F4 - 搜索进程
F5/F6 - 排序列 
F7/F8 - 增加/减少列
F9 - 终止进程
F10 - 退出htop

10.du/df 查看磁盘空间使用情况的命令

10.1 du

du - 显示当前目录下的所有文件和子目录大小
du -h - 以人类可读的形式显示大小(GB,MB,KB)
du -sh - 显示当前目录总大小
du -ah - 显示指定目录下的所有文件和目录大小
du -lh - 只显示总大小的目录,不显示文件
du -s * - 显示当前目录下每个子目录的总大小

10.2 df

df - 查看所有文件系统的磁盘空间使用情况
df -h - 以可读格式显示磁盘空间使用情况
df -H - 显示所有文件系统的磁盘使用情况,包括临时挂载的
df -T - 显示文件系统类型
df -i - 显示inode使用信息
df -a - 显示所有的磁盘,包括未挂载的

显示参数说明:

文件系统(Filesystem):显示的文件系统路径
1K-块(1K-blocks):文件系统的总大小,以1KB为单位
已用(Used):文件系统已使用的空间
可用(Available):文件系统剩余可用空间
使用%(Use%):已使用空间的百分比
挂载点(Mounted on):文件系统挂载点

常见的文件系统类型包括:

ext4 - Linux最常见的文件系统
xfs - 高性能文件系统
nfs - 网络文件系统
vfat - Windows系统常见的文件系统
iso9660 - CD/DVD镜像文件系统
tmpfs - 临时的基于内存的文件系统
devtmpfs - 设备 tmpfs 文件系统

11.ping/telnet/curl/wget 网络测试和调用命令

11.1 ping

ping [主机名/IP]: 测试网络是否通畅

11.2 telnet

telnet [服务器] [端口]
telnet www.baidu.com 80 #登录百度的80端口

telnet的一些重要用途包括:

11.3 curl

curl http://www.example.com	#发送GET请求
curl -d "data=test" http://www.example.com #发送POST请求
curl -O http://www.example.com/text.txt #下载文件
curl -v http://www.example.com #显示通信过程

11.4 wget

wget [URL]: 从网络下载文件

12.sudo 取得管理员权限的命令

sudo [命令]: 在命令前加上sudo以管理员权限执行

13.crontab 定时任务管理命令

crontab的常见用法:

crontab -e

这会打开 crontab 文件进行编辑,允许用户设置要定期执行的命令。

列出crontab任务

crontab -l

这将列出当前用户设置的所有 crontab 任务。

crontab -r

这将删除当前用户所有的 crontab 任务。

# 分时日月周命令
* * * * * command

每个星号代表一个时间单位。从左到右分别是:分钟、小时、日期、月份、周(0-6,0表示周日)例如:

# 每天8点执行backup脚本
0 8 * * * /path/to/backup.sh

14.chkconfig 系统服务管理命令

chkconfig的常用用法如下:

chkconfig --list [服务名]
chkconfig --level [运行级别] [服务名] on
chkconfig --level [运行级别] [服务名] off 
chkconfig [服务名] on
chkconfig [服务名] off

Linux的运行级别包括0至6等,通常3或5为默认级别。

15.iptables 防火墙配置命令

iptables的一些常用用法如下:

iptables -L
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

此规则允许80端口 TCP数据包。

iptables -A INPUT -s 192.168.0.1 -j DROP

此规则禁止来自192.168.0.1的数据包。

iptables-save > /etc/iptables.rules

保存iptables规则,重启后仍有效。

iptables -F

16. scp/rsync - 远程拷贝文件命令

16.1 scp

scp [选项] [源文件] [目标路径]

其中,选项 可以是以下常用的选项之一:

源文件 为需要传输的文件或目录的路径,可以是本地路径,也可以是远程主机上的路径。远程路径的格式为 [user@]host:file

目标路径 为传输的目标路径,可以是本地路径,也可以是远程主机上的路径。

以下是一些示例用法:

16.2 rsync

rsync [选项] 源路径 目标路径

其中,选项 可以是以下常用的选项之一:

源路径 为需要同步的文件或目录的路径,可以是本地路径,也可以是远程主机上的路径。远程路径的格式为 [user@]host:file

目标路径 为同步的目标路径,可以是本地路径,也可以是远程主机上的路径。

以下是一些示例用法:

17.chmod 改变文件权限

chmod [选项] 模式 文件

其中,选项 可以是以下常用的选项之一:

-R:递归地修改目录及其内容的权限。-v:显示修改后的权限。-c:仅在发生更改时显示提示信息。

以下是一些示例用法:

写在最后

以上就是开发必备Liunx常用的几个命令分享的详细内容,更多关于Liunx常用命令的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文