本文全面总结了Linux中常见的命令以及一些实际操作示例,包括文件目录操作、时间日期管理、用户与组管理、文件权限管理、网络管理、进程管理、压缩和解压缩、搜索查找、软件包管理以及关机重启和帮助命令等方面。
本文目录
一、文件目录命令
1. pwd:显示当前目录路径
语法:pwd
显示当前所在目录的完整路径。
2. ls:查看文件和目录
语法:ls [OPTION]... [FILE]...
ls
命令用于查看当前目录下的所有文件和目录。常用选项如下:
-a
:显示当前目录所有的文件和目录,包括隐藏文件和目录。-l
:使用列表的方式显示信息,等同于ll
命令,能详细展示文件的权限、所有者、大小、修改时间等信息。
在
ls
后面直接跟目录或者文件,用于指定查看的目录或者文件。
3. cd:切换目录
语法:cd [-L|[-P [-e]]] [dir]
cd
命令用于切换目录,常见示例如下:
cd 目录名
:切换到指定目录。cd ..
:切换到上一级目录。cd /
或cd ~
:切换到home目录。cd -
:切换到上次访问的目录。
4. mkdir:创建目录
语法:mkdir [OPTION]... DIRECTORY...
mkdir
用于创建目录。如果要创建多级目录,需要使用-p
选项。
5. rmdir:删除空目录
语法:rmdir [OPTION]... DIRECTORY...
rmdir
只能用于删除空目录。如果目录非空,使用该命令会提示错误。
6. touch:创建空文件
语法:touch [OPTION]... FILE...
touch
命令用于创建一个或多个空文件。
touch test.txt
会在当前目录下创建一个名为test.txt
的空文件。
7. rm:删除文件或目录
语法:rm [OPTION]... FILE...
rm
命令可用于删除文件或目录,使用时需谨慎。常用选项如下:
-r
:递归删除整个文件夹。-f
:强制删除不提示。
8. mv:重命名或移动文件/目录
语法:mv [OPTION]... SOURCE... DIRECTORY
mv
命令有两个主要用途:一是重命名文件或目录,二是将文件或目录从一个位置移动到另一个位置。
9. cp:复制文件或目录
语法:cp [OPTION]... SOURCE... DIRECTORY
cp
命令用于复制文件或目录。递归复制目录需要使用-r
选项。
10. 文件查看命令
(1)cat:显示文件内容
语法:cat [OPTION]... [FILE]...
cat
用于查看文件内容,但只能显示最后一屏内容。使用-n
选项可以显示行号。
(2)more:百分比查看文件内容
语法:more [options] file...
more
命令以百分比的形式查看文件内容,回车可以向下一行,空格向下一页,按q
退出查看。
(3)less:分屏查看文件内容
语法:less [options] file...
less
功能与more
相似,但更强大,适合查看大文件。常用快捷键如下:
- 空格:向下一页。
q
:退出。pagedown
:向下一页。pageup
:向上一页。/字符串
:向下搜索字符串,n
向下查找,N
向上查找。?字符串
:向上搜索字符串,操作与/字符串
类似。
(4)head:从文件头开始查看内容
语法:head [OPTION]... [FILE]...
head
命令从文件头开始查看内容,使用-n 行数
可以指定查看的行数。
(5)tail:从文件尾部开始查看内容
语法:tail [OPTION]... [FILE]...
tail
与head
原理类似,但从文件尾部开始查看。-n
用于指定行数,表示查看文件尾部的行数。
11. 重定向指令
(1)>:覆盖写入
语法:命令 > 目标文件
该指令将命令所产生的结果写入目标文件中,会覆盖原有内容。
(2)>>`:追加写入
语法:命令 >> 目标文件
>>
也是将结果写入目标文件中,但采用追加的方式,不会覆盖原有内容。
二、时间日期指令
1. date:显示和设置时间
语法:date [OPTION]... [+FORMAT]
date
命令用于显示当前时间。[+FORMAT]
用于指定显示的格式,常用格式如下:
date +%Y
:显示当前年份。date +%m
:显示当前月份。date +%d
:显示当前日。date -s 时间字符串
:用于设置时间。
2. cal:显示日历
语法:cal [options] [[[day] month] year]
cal
命令用于显示日历。常用指令如下:
cal
:显示当前月的日历。cal 年份
:显示某年份的日历。
三、用户管理和组管理
1. 用户管理
(1)新增用户
语法:useradd
[选项] username
例如,useradd test
会创建一个名为test
的用户,并指定组为test
,同时在/home
目录下创建test
目录作为用户的主目录。使用passwd test
可以给新建的test
用户设置密码。常见选项如-d /home/test1
,用于手动指定主目录。
(2)删除用户
语法:userdel
[选项] username
userdel test
用于删除用户test
,但保留其主目录。使用-r
选项(如userdel -r test
)可以在删除用户时一起删除主目录。
(3)查看用户信息
语法:id
username
id test
用于查看用户test
的信息。
(4)切换用户
语法:su
username
su root
用于切换到root
用户。低权限用户切换到高权限用户需要输入密码,使用exit
命令可以回到之前的用户。
(5)查看当前用户
语法:whoami
输入该命令会显示当前用户名。
2. 组管理
(1)新增组
语法:groupadd
groupname
groupadd test
用于创建组test
。
(2)删除组
语法:groupdel
groupname
groupdel test
用于删除组test
。
(3)指定组
有两种方式:
useradd -g
groupname username:在新增用户时手动指定组,需要先创建组。gpasswd -a
username groupname:将用户添加到组里面。
(4)将用户从组中移除
语法:gpasswd -d
username groupname
该命令用于将指定用户从指定组中移除。
四、文件权限管理
1. 文件权限基础知识
在Linux中,每个文件和目录都有相关的权限,权限类型有三种:读取(Read)、写入(Write)和执行(Execute)。每一个文件或目录都有一个文件类型标识和9个权限位,权限位分为三组,分别代表文件所有者、同组用户和不同组用户的权限。具体对应关系如下:
读取权限(Read)
:对应数字为 4,对应字符为 r,可以查看文件内容,列出目录中的内容。写入权限(Write)
:对应数字为 2,对应字符为 w,可以修改文件内容,在目录中创建、删除文件。执行权限(Execute)
:对应数字为 1,对应字符为 x,可以执行文件或者进入目录。
2. 权限相关命令
(1)chmod:更改文件权限
语法:chmod [OPTION]... MODE[,MODE]... FILE...
有两种更改方式:
- 通过
r、w、x
更改:例如,chmod u=rwx,g=wx,o=r
文件名,u、g、o、a
分别是文件所有者、文件所在组用户、其他组用户、所有用户的标识;=、+、-
分别代表设置权限、增加权限、取消权限的含义。 - 通过数字更改:例如,
chmod 754 文件名
,其中r=4
,w=2
,x=1
,rwx=4+2+1=7
。
u、g、o、a
分别是文件所有者、文件所在组用户、其他组用户、所有用户的标识
=、+、-
分别代表设置权限、增加权限、取消权限的含义
(2)chown:改变文件或目录的所有者
语法:chown [OPTION]... [OWNER][:[GROUP]] FILE...
(3)chgrp:改变文件或目录的所属组
语法:chgrp [OPTION]... GROUP FILE...
例如,chgrp centos test.txt
将文件test.txt
的所属组改为centos
。
(4)umask:查看和修改新建时默认文件权限
语法:umask [-p] [-S] [mode]
使用umask
命令可以显示新建时默认文件权限。
五、网络管理命令
1. ifconfig
语法:ifconfig
作用:查看网卡信息。通过该命令可以获取网卡的IP地址、子网掩码、MAC地址等信息,帮助我们了解网络接口的配置情况。
2. ping
语法:ping ip地址/域名
作用:测试与某台主机的连通性。例如,ping www.baidu.com
可以测试当前主机与百度服务器之间的网络连接是否正常。
3. curl
语法:curl [options...] <url>
作用:用来发送HTTP请求。可以用于获取网页内容、上传文件等操作。
4. host
语法:host ip/域名
作用:做DNS查询,可以查询ip相关的域名,反之也可。比如,host 8.8.8.8
可以查询该IP对应的域名信息。
5. netstat
语法:netstat [options...]
作用:监测网络连接状态、查找端口占用情况、分析网络通信状况。常用选项如下:
-a
:显示所有端口。-n
:数字形式显示网络地址和端口号。
六、进程管理命令
1. 进程基本介绍
- 在Linux中,每一个正在执行的程序都称为一个进程,每个进程都有各自的pid(进程ID)。
- 进程分为后台与前台进程,前台进程是用户可以感知到的,后台进程则相反。
2. 进程相关命令
(1)ps
语法:ps [options]
作用:查看进程相关信息。常用选项如下:
-a
:显示当前终端下的所有进程信息。-u
:以用户的格式显示进程信息。-x
:显示后台进程运行的参数。-f
:用全格式显示进程信息。-e
:显示所有进程信息。
例如:ps -aux
可以查看所有用户的所有进程信息。
(2)kill、killall
语法:kill [options] pid / killall 进程名称
作用:停止进程。示例:kill -9 进程号
,其中-9
是一种信号,用于强制终止进程。
(3)top
语法:top
作用:用于实时显示进程的信息。可以动态查看系统中各个进程的资源占用情况。
(4)pstree
语法:pstree [options...]
作用:以树的形式直观的查看进程信息。常用选项如下:
-p
:显示进程的pid。-u
:显示进程所属的用户。
七、压缩和解压缩命令
1. zip
语法:zip [-options] targetName 将要压缩的文件或目录
作用:将指定文件或者目录压缩。用于目录压缩需要指定选项-r
进行递归压缩。
2. unzip
语法:unzip [OPTION]... 被zip命令压缩的文件
作用:用于解压zip命令压缩生成的文件。默认解压后文件存放在当前文件夹,-d
可以手工指定文件夹。
3. gzip
语法:gzip file
作用:与zip相比,只能压缩单个文件,并会删除源文件,后缀格式为.gz。
4. gunzip
语法:gunzip 压缩文件
作用:解压gzip压缩的文件,解压后会删除原压缩文件。
5. tar
语法:tar [OPTION]... targetName 待打包文件或者目录
作用:tar只是一个简单的打包命令,压缩和解压缩都是由选项决定的。常用选项如下:
-c
:生成.tar.gz文件。-z
:打包的时候压缩。-x
:解压文件。-v
:显示详细信息。-f
:指定压缩/解压后的文件名。-C
:指定解压到哪个目标目录。
示例:
-
tar -zcvf demo.tar.gz demo demo.txt
将文件demo
和demo.txt
打包成demo.tar.gz
。
-
tar -zxvf demo.tar.gz -C test/
将demo.tar.gz
解压到指定的目录test/
中。
八、搜索查找指令
1. find
find命令会从指定目录向下递归遍历各个子目录,从而找到满足条件的文件或目录。
语法:find [指定查找目录]... [OPTION]
OPTION
常用可选值有以下几种,可以自由组合:
-name
:按照名称查找,支持通配符。-user
:使用用户名查找。-size
:按照文件大小查找,+
号表示大于,-
号表示小于。-perm
:指定文件的权限。-type
:指定文件的类型,d
为目录。
示例:
find -name test.txt
:在当前目录下查找test.txt
。find / -name '*.txt'
:从根目录下递归查找以.txt
结尾的文件。find -type d
:查找当前目录下的所有目录。find -size +100M/-100M
:查找当前目录下大于100M/小于100M的文件。
2. locate
系统默认每天自动备份更新系统的文件路径数据,使用locate指令可以快速定位整个系统的文件路径。使用locate命令查不到最新变动过的文件,可以使用命令updatedb
手动更新到最新。
语法:locate [OPTION]... [PATTERN]...
示例:locate test.txt
查找文件名含有test.txt
的所有文件。
3. grep
grep命令是一种强大的文本搜索工具。
语法:grep [OPTION]... PATTERN [FILE]...
常用选项示例:
-n
:显示行号。-i
:忽略大小写。
示例:cat 文件 | grep ‘搜索的字符’
将文件中的内容使用grep进行搜索,|
为管道符,可以将前一个命令的处理结果输出传递到后面的命令处理。
4. which
语法:which 命令
作用:用于搜索某个系统命令在PATH变量指定的位置。示例:which java
5. whereis
语法:whereis file...
作用:用于搜索可执行文件、源代码文件、帮助文件在系统中的位置。示例:whereis pwd
九、软件包管理命令
1. yum list
语法:yum list
作用:查询系统已经安装的软件。此命令经常和grep
一起使用。示例:yum list | grep maven
查询maven相关的本地软件。
2. yum install
语法:yum install 软件包名
作用:下载安装软件包。示例:yum install ftp
3. yum remove
语法:yum remove 软件包名
作用:卸载软件包。示例:yum remove ftp
十、关机重启、帮助命令
1. 关机重启
语法:shutdown
[OPTIONS…] [TIME] [WALL…]
关机示例:
shutdown -h now
:立刻关机。shutdown -h 分钟数
:多少分钟后关机。poweroff
:立刻关机。
重启示例:
shutdown -r now
:立刻重启。shutdown -r 分钟数
:多少分钟后重启。reboot
:立刻重启。
2. 帮助命令
(1)help/–help
语法:help
命令 或者 命令 --help
示例:
help cd
cd --help
需要注意的是,help
命令有时候会不生效,建议使用--help
。
(2)man 命令
语法: man
命令
man
命令会进入文档,按q
键退出。
十一、vim/vi中行号的显示和关闭
vim/vi编辑时,行号默认是不显示的,如要显示,可以按以下进行设置:
1. 非永久显示:
显示行号:末行模式下输入 **set number** 或 **set nu** 回车
关闭行号:末行模式下输入 **set nonumber** 或 **set nonu** 回车
2. 永久显示:
终端下输入 *vim ~/.vimrc* 或 *vi ~/.vimrc* ,在配置文件.vimrc中添加 **set number** 或 **set nu** 保存就可以了
← 上一篇 Java进阶——注解一文全懂 |
记得点赞、关注、收藏哦!
| 下一篇 Java进阶——IO流实战详解 → |