Linux最常用命令
Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,系统的稳定性和安全性高。
Linux的目录结构
/下级目录结构
- bin
(binaries)存放二进制可执行文件 - sbin
(super user binaries)存放二进制可执行文件,只有root用户才能访问 - etc
(etcetera)存放系统配置文件 - usr
(unix shared resources)用于存放共享系统资源 - home
存放用户文件的根目录 - root
超级用户目录 - dev
(devices)用于存放设备文件 - lib
(library)存放跟文件系统中的程序运行所需要的共享库及内核模块 - mnt
(mount)系统管理员安装临时文件系统的安装点 - boot
存放用于系统引导时使用的各种文件 - tmp
(temporary)用于存放各种临时文件 - var
(variable)用于存放运行时需要改变数据的文件
Linux常用命令
命令格式:命令 -选项 参数 (选项和参数可以为空)
ls -la /usr
操作文件及目录
cd
cd DIR 切换目录
cd /home # 切换到home文件夹中
pwd
pwd 显示当前工作目录
pwd # 打印出当前的工作目录的完整目录
touch
touch FILE 创建空文件
touch xxoo.txt # 创建xxoo文件,格式为txt
mkdir
mkdir DIR 创建一个新目录
mkdir xxoo_dir # 在当前目录中创建一个名为xxoo_dir的目录 mkdir -p dir0/dir1/dir2/ # 创建多级目录,父目录不存在的情况下先生成父目录
cp
cp [OPTION] SOURCE DEST 复制文件或者目录
cp xxoo.txt xxoo_p。txt # 复制xxoo.txt文件,结果为xxoo_p.txt cp -r dir0/ dir1/ # 递归处理,将制定目录下的文件与子目录一并拷贝;
mv
mv SOURSE DEST 移动文件或目录、文件或目录改名
mv dir0 dir1 # 将dir0移动到dir1(或者说将dir0改名为dir1)
rm
rm [OPTION] DIR 删除文件
# r 删除该目录下的所有文件 # f 强制删除文件或目录 rm -rf dir0 # 递归删除dir0目录中的所有文目录及文件
rmdir
rmdir DIR 删除空目录
rmdir dir0 # 删除空目录dir0
cat
cat FILE 显示文本文件内容
cat xxoo.txt # 查看xxoo.txt文件中的内容
more
more FILE 分页显示文本文件内容,可前后翻页,空格向后,b键向前
more xxoo.txt # 分页显示xxoo.txt文件中的内容
less
less FILE 分页显示文本文件内容,可前后翻页,空格向后,b键向前,支持底行模式
less xxoo.txt # 分页显示xxoo.txt文件中的内容
head
head [NUM] FILE 查看文本开头部分的内容,默认10行
head xxoo.txt # 查看xxoo.txt文件前10行的内容 head -20 xxoo.txt # 查看xxoo.txt文件前20行的内容
tail
tail [OPTION] FILE 查看文本结尾部分的内容,默认10行
tail xxoo.txt # 查看xxoo.txt文件中的最后10行 tail -20 xxoo.txt # 查看xxoo.txt文件中的最后20行 tail -f xxoo.txt # 循环滚动读取文件并动态显示在屏幕上,根据文件属性追踪 tail -F xxoo.txt # 循环滚动读取文件并动态显示在屏幕上,根据文件名追踪
wc
wc [OPTION] FILE 统计文本的行数、字数、字符数
wc xxoo.txt # 统计xxoo.txt文件的行数、字数、字符数 wc -m xxoo.txt # 统计xxoo.txt文件的字符数 wc -w xxoo.txt # 统计xxoo.txt文件的文本字数
wc -l xxoo.txt # 统计xxoo.txt文件的文本行数
find
find PATH -NAME FILE_NAME 在系统中的指定目录下查找指定的文件
find / -name xxoo.txt # 在根目录下查找名字为xxoo.txt的文件
grep
grep CONTENT FILE 在指定文件中查找包含指定内容的行
grep 69 xxoo.txt # 在xxoo.txt文件中查找含有69的所有行
ln
ln 建立链接文件
ln xxoo.txt xxoo_l.txt # 建立链接文件 ln -s xxoo.txt xxoo_l.txt # 对源文件建立符号链接,而非硬链接
系统常用命令
top
top 显示当前系统中耗费资源最多的进程
top # 显示系统中耗费资源最多的进程
date
date 显示系统当前时间
date # 显示系统当前时间
ps
ps 较少单独使用,配参数根据需求,ps -ef或者ps -aux
ps -e # 显示所有进程,环境变量 ps -A # 显示所有进程,环境变量 ps -ef # 全格式显示 ps -a # 显示所有用户的所有进程(包括其他用户) ps -au # 按用户名和启动时间的顺序来显示进程 ps -aux # 显示无控制终端的进程
kill
kill 强制杀死一个进程
kill -9 69 # 强制杀死pid为69的进程
df
df 显示文件系统磁盘空间的使用情况
df # 显示文件系统磁盘空间的使用情况 df -h # 以人类可读的方式显示,Kb,Mb,Gb等
du
du 显示指定的目录及子目录已使用的空间的总和
du # 显示指定的目录及其子目录已经使用的磁盘空间的总和 du -s * # 显示指定目录的总和,*当前目录下表示所有 du -sh * # 以人类可读的方式显示,Kb,Mb,Gb等
free
free 显示当前内存和交换空间的使用情况
free # 显示当前内存和交换空间的使用情况 free -h # 以人类可读的方式显示当前内存和交换空间的使用情况
ifconfig
ifconfig 网卡网络配置,常用于查看当前ip地址
ifconfig # 网卡网络配置,常用于查看当前IP地址 ifconfig eth0 192.168.69.69 # 临时修改系统IP(重启后失效)
ping
ping domain 测试网络的连接性
ping baidu.com # 测试网络的连接性
hostname
hostname 查看主机名
hostname # 查看主机名
shutdown
shutdown 关机
shutdown -r # 先关机,再重启 shutdown -h # 关机后不重启
halt
halt 关机后关闭电源
halt # 关机后关闭电源,相当于shutdown -h
reboot
reboot 重新启动
reboot # 重新启动,相当于shutdown -r
压缩解压缩
gzip
gzip [OPTION] FILE 压缩后面的文件或者文件夹
gzip xxoo.txt # 压缩xxoo.txt文件 gzip -d xxoo.txt.gz # 解压后面的压缩文件 gzip -9 xxoo.txt # 指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低圧缩比),-9或--best表示最慢的压缩方法(高压缩比)。系统省缺值为6
tar
tar [OPTION] TARGET_FILE SOURSE_FILE 建立一个压缩文件
# -v 压缩的过程显示文件 # -f 使用档名,在f只有要立即接档名 tar -cvf xxoo.tar xxoo.txt # 建立一个压缩文件的参数指令,例如,将xxoo.txt压缩为xxoo.tar,也可指定多个文件或文件夹 tar -xvf xxoo.tar xxoo.txt # 解开一个压缩文件的参数指令 tar -zcvf xxoo.tar.gz xxoo.txt # 是否需要使用gzip,使用gzip压缩 tar -zxvf xxoo.tar.gz xxoo.txt # 是否需要使用gzip,使用gzip解压
文件权限操作
- Linux文件权限的描述格式解读
- r(read) 可读权限,w(write) 可写权限,x(executable) 可执行权限(可也以用二进制表示111 110 100 ---> 764)
- 第1位:文件类型(d(directory) 目录,- 普通文件,l(link) 链接文件)
- 第2-4位:所属用户权限,用u(user)表示
- 第5-7位:所属组权限,用g(group)表示
- 第8-10位:其他用户权限,用o(other)表示
- 第2-10位:表示所有的权限,用a(all)表示
chmod
chmod 修改文件或目录的权限
# u 表示当前用户 # g 表示同组用户 # o 表示其他用户 # a 表示所有用户 # r 表示可读 # w 表示可写 # x 表示可执行 chmod u+r xxoo.txt # 修改xxoo.txt文件给当前用户添加可读权限 chmod -R u+r xxoo # 修改xxoo目录及其子目录的所有文件的权限,给当前用户添加可读权限 # 7 可读可写可执行,4+2+1 # 6 表示可读可写,4+2 # 5 表示可读可执行, 4+1 # 3 表示可写可执行,2+1 chmod 764 xxoo.sh # 直接指定文件的权限,当前用户可读可写可执行,当前用户所属组可读可写,其他用户可读
chwon
chwon 修改文件的所属用户和组
chwon user1:group1 xxoo.txt # 将xxoo.txt文件的所属用户指定为user1,组为group1 # 用数字来表示权限 # r = 4 # w = 2 # x = 1 # - = 0 chwon -R user1:group1 xxoo.txt # 修改目录下所有文件及子目录的所属用户和组
常用快捷键及符号命令
Ctrl + C
Ctrl + C 停止进程
Ctrl + I
Ctrl + L 清屏
Ctrl + R
Ctrl + R 搜索历史命令
Ctrl + Q
Ctrl +Q 退出
Tab
Tab 自动补全
>
> 将前一条命令的输出,写入到后面的文本中,将文本清空,然后写入
echo 'xxoo' > xxoo.txt
>>
>> 将前一条命令的输出,写入到后面的文本中,不将文本清空,追加到文本最后
echo 'xxoo_too' >> xxoo.txt
|
| 管道命令符,以前一个命令的输出作为输入,然后进行运算
cat xxoo.txt | grep 'hello_xxoo' # 打印xxoo.txt文本中带有hello_xxoo字符串的行
*
* 通配符,指所有
Vim编辑器
vi/vim是Linux上最常用的文本编辑器而且功能非常强大。只有命令,没有菜单,下图表示vi命令的各种模式的切换图。
修改文本
i
i 在光标前插入
I
I 在光标当前行开始插入
a
a 在光标后插入
A
A 在光标当前行末尾插入
o
o 在光标当前行的下一行插入新行
O
O 在光标当前行的前一行插入新行
:wq
:wq 保存退出
定位命令
:set nu
:set nu 显示行号
:set nonu
:set nonu 取消显示行号
gg
gg 跳到首行
G
G 跳到最后一行
:n
:n 跳到第n行
替换和取消命令
u
u undo,取消上一步操作
Ctrl + r
Ctrl + r redo,返回到undo之前
r
r 替换光标所在处的字符
R
R 从光标所在处开始替换,按Esc键结束
删除命令
x
x 删除光标所在处字符
nx
nx 删除从光标开始往后的n个字符
dd
dd 删除光标所在行。ndd,删除n行。
dG
dG 删除光标所在行到末尾行的所有内容
D
D 删除光标所在行到行尾的内容
:line_num0,lin_num1d
:5,7d 删除指定范围的行。
常用快捷键
Shift + zz
Shift + zz 保存退出,与 :wq 作用相同。
v
v 进入字符可视模式
V
V 进入行可视模式
Ctrl + v
Ctrl + v 进入块可视模式
参考文章