目录
一、Linux命令的格式
终端命令格式
说明:
二、Linux的基本使用
1、系统的目录结构
2、常见的Linux命令
3、自动补全功能
三、目录和文件的常用命令
1、查看目录内容ls(list)
2、切换目录cd(change directory)
3、目录/文件的创建和删除
touch(创建文件):
mkdir(创建目录):
rmdir(删除目录):
rm(删除文件或目录):
4、拷贝和移动文件(cp,mv):
5、查看文件内容:
四、其他命令
1、find查找文件
2、硬、软链接
硬、软链接示意图
3、打包压缩
打包、解包
压缩、解压缩
、>>和|">4、echo、>、>>和|
(1)echo文字内容
和>>">(2)重定向>和>>
(3)管道 |
5、磁盘信息
6、进程信息
五、用户权限相关命令
1、组管理:
2、用户管理
3、修改文件权限管理
4、切换用户
六、远程管理常用命令
1、关机/重启
2、查看配置网卡信息
3、ssh远程登录和scp复制文件
ssh远程登录
scp复制文件
一、Linux命令的格式
终端命令格式
command [-options] [parameter]
说明:
- command:命令名,相应功能的单词
- [-options]:选项,可用来对命令进行控制
- parameter:传给命令的参数,可以是零个、一个或多个
- command:命令名,相应功能的单词
- [-options]:选项,可用来对命令进行控制
- parameter:传给命令的参数,可以是零个、一个或多个
二、Linux的基本使用
1、系统的目录结构
树状目录结构:(Linux的一切资源都挂载在这个 / 根节点下)
以下是对这些目录的解释:
- /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
- /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
- /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
- /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
- /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
- /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
- /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
- /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
- /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
- /root:该目录为系统管理员,也称作超级权限者的用户主目录。
- /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
- /srv:该目录存放一些服务启动之后需要提取的数据。
- /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
- /tmp:这个目录是用来存放一些临时文件的。
- /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
- /usr/bin: 系统用户使用的应用程序。
- /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
- /usr/src: 内核源代码默认的放置目录。
- /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
2、常见的Linux命令
| 序号 | 命令 | 对应英文 | 作用 |
|---|---|---|---|
| 01 | ls | list | 查看当前文件夹下的内容 |
| 02 | pwd | print work directory | 查看当前所在文件夹 |
| 03 | cd [目录名] | change directory | 切换文件夹 |
| 04 | touch [文件名] | touch | 如果文件不存在,则新建一个 |
| 05 | cat | concatenate | 查看文件内容 |
| 06 | rkdir [-p] [目录名] | make directory | 创建目录,加上-p可以递归创建多层目录 |
| 07 | rmdir [-p] [目录名] | remove directory | 删除目录,加上-p可以递归删除多层目录 |
| 08 | rm [文件名] | remove | 删除指定文件 |
| 09 | mv [目标文件] [源文件] | move | 移动文件或目录 |
| 10 | clear | clear | 清屏 |
3、自动补全功能
- 在敲出 文件 / 目录 / 命令 的前几个字母之后,按下tab键,如果输入的没有歧义,系统会自动补全
- 如果还存在其他的 文件 / 目录 / 命令,再按下tab键,系统会提示可能存在的命令
- 按 上 / 下 键光标键可以在曾经使用过的命令之间切换
- 如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c
三、目录和文件的常用命令
1、查看目录内容ls(list)
ls的功能为列出目录的内容,是最常用的命令之一,常用选项如下:
#列出所有目录的详细信息 ls -l [目录名] #列出隐藏目录 ls -a [目录名] #列出所有目录包括隐藏目录的详细信息 #ls -al [目录名]
| 参数 | 含义 |
|---|---|
| -a | 显示指定目录下所以子目录与文件,包括隐藏文件 |
| -l | 以列表方式显示文件的详细信息 |
| -h | 配合-l能够显示文件的大小 |
2、切换目录cd(change directory)
cd的功能为更改当前的目录,也是最常用的命令之一,需要注意的是Linux的目录和文件名大小写敏感,具体命令如下:
| 命令 | 含义 |
|---|---|
| cd / | 切换到根目录 |
| cd ~ | 切换到当前用户的主目录(/home/用户目录) |
| cd .. | 切换到上级目录 |
| cd - | 可以在最近两次工作目录之前来回切换 |
相对路径和绝对路径的区别:
- 相对路径:最前面不是/或~,表示相对于当前目录所在的目录位置
- 绝对路径:最前面是/或~,表示从根目录开始具体的目录位置
3、目录/文件的创建和删除
touch(创建文件):
touch [文件名]
- 如果文件不存在,则创建一个空白文件
- 如果文件存在,则更改文件的日期时间
mkdir(创建目录):
#创建一个目录
mkdir [目录名]
#-p 表示递归创建多层目录
mkdir -p [目录名]/[目录名]
rmdir(删除目录):
#删除一个目录
rmdir [目录名]
#-p 表示递归删除多层目录
rmdir -p [目录名]/[目录名]
rm(删除文件或目录):
#删除文件或目录
rm [文件或目录名]
#强制递归删除文件或目录
rm -rf [文件或目录名]
touch [文件名]
- 如果文件不存在,则创建一个空白文件
- 如果文件存在,则更改文件的日期时间
mkdir(创建目录):
#创建一个目录
mkdir [目录名]
#-p 表示递归创建多层目录
mkdir -p [目录名]/[目录名]
rmdir(删除目录):
#删除一个目录
rmdir [目录名]
#-p 表示递归删除多层目录
rmdir -p [目录名]/[目录名]
rm(删除文件或目录):
#删除文件或目录
rm [文件或目录名]
#强制递归删除文件或目录
rm -rf [文件或目录名]
#删除一个目录 rmdir [目录名] #-p 表示递归删除多层目录 rmdir -p [目录名]/[目录名]
rm(删除文件或目录):
#删除文件或目录
rm [文件或目录名]
#强制递归删除文件或目录
rm -rf [文件或目录名]
| 选项 | 含义 |
|---|---|
| -f | 强制删除,忽略不存在的文件,忽略提示 |
| -r | 递归地删除目录下单所有内容 |
4、拷贝和移动文件(cp,mv):
| 序号 | 命令 | 对应英文 | 作用 |
|---|---|---|---|
| 01 | cp [-i,-r,-f] [源文件] [目标文件] | copy | 复制文件或目录 |
| 02 | mv [-i] [源文件] [目标文件] | move | 移动文件或目录/文件或目录重命名,-i覆盖信息提示 |
| 03 | tree [-d] [目录名] | tree | 以树状图形式列出文件目录结果,加上-d表示只显示目录 |
cp的常见参数:
| 命令 | 含义 |
|---|---|
| -i | 信息提示,比如如果复制文件需要覆盖 |
| -f | 强制复制,即如果存在,先删除,然后进行复制 |
| -r | 递归复制该目录下的所有子目录和文件,目标文件必须是一个目录名 |
| -p | 复制文件同时复制文件的属性,比如文件的所属 |
5、查看文件内容:
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | cat [-b,-n] [文件名] | 查看文件内容、创建文件、文件合并、追加文件内容等功能。-b对非空输出行编号。-n对输出的所有行编号 |
| 02 | more [文件名] | 分屏显示文件内容,按(space)键显示下一屏,按(b)回滚一屏,(f)前滚,(q)退出,(/word)搜索word字符串 |
| 04 | less [文件名] | 功能类似more,less功能更全 |
| 05 | grep 搜索文本 文件名 | 搜索文本文件内容 |
四、其他命令
1、find查找文件
find 命令功能非常强大,通常用来在 特定的目录下 搜索 符合条件的文件
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | find [路径] -name "*.txt" | 查找指定路径下扩展名是txt的文件,包括子目录。如果省略路径,则在当前文件夹下查找。"*"表示通配符 |
2、硬、软链接
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | ln 被链接的源文件 链接文件 | 建立文件的硬链接,类似于文件备份 |
| 02 | ln -s 被链接的源文件 链接文件 | 建立文件的软链接,类似于 Windows 下的快捷方式 |
硬、软链接示意图
3、打包压缩
Windows常用的打包压缩方式为rar,而Linux常用的方式为tar.gz
打包、解包
tar是Linux常用的备份工,tar的命令格式如下:
# 打包文件 tar -cvf 打包文件.tar 被打包的文件/路径... # 解包文件 tar -xvf 打包文件.tar
tar选项说明:
| 选项 | 作用 |
|---|---|
| c | 生成档案文件,打包 |
| x | 解开档案文件,解包 |
| v | 列出解档的详细过程,显示进度 |
| f | 指定档案文件名称,f的后面一定是.tar文件 |
压缩、解压缩
(1)gzip
- tar与gzip命令结合可以实现文件的打包压缩,需要注意的是tar只负责打包而不压缩,用gzip能够压缩tar打包后的文件,其扩展名一般为xxx.tar.gz
- tar命令中有一个选项-z可以调用gzip,从而实现压缩和解压缩
- 命令格式如下:
# 压缩文件 tar -zcvf 打包文件.tar.gz 被压缩的文件/路径... # 解压缩文件 tar -zxvf 打包文件.tar.gz # 解压缩到指定路径 tar -zxvf 打包文件.tar.gz -C 目标路径 # -C表示解压缩到指定的目录,但是要解压缩的目录必须存在
(2)bzip2
- tar与bzip2y命令结合可以实现文件的打包压缩(用法和gzip一样),需要注意的是tar只负责打包而不压缩,用bzip2能够压缩tar打包后的文件,其扩展名一般为xxx.tar.bz2
- tar命令中有一个选项-j可以调用bzip2,从而实现压缩和解压缩
- 命令格式如下:
# 压缩文件 tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径... # 解压缩文件 tar -jxvf 打包文件.tar.bz2
4、echo、>、>>和|
(1)echo文字内容
- echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用
(2)重定向>和>>
- 将命令执行结果 重定向到一个文件中,将本应显示在终端上的内容输出或追加到指定的文件中
- >表示输出,会覆盖文件原有的内容
- >>表示追加,会将内容追加到文件内容的末尾
(3)管道 |
- 将 一个命令的输出 可以通过管道 做为 另一个命令的输入
- more :分屏显示内容
- grep :| grep 在命令执行结果的基础上查询指定的文本
5、磁盘信息
# 显示磁盘剩余的空间
df -h
# 显示目录下的文件大小
du -h [目录名]
6、进程信息
# a显示终端上的所有进程,u查看进程的详细状况,x显示没有控制终端的进程
ps aux
# 动态显示运行中的进程并且排序
top
# 终止指定代号的进程, -9 表示强行终止
kill [-9] 进程代号
- echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用
(2)重定向>和>>
- 将命令执行结果 重定向到一个文件中,将本应显示在终端上的内容输出或追加到指定的文件中
- >表示输出,会覆盖文件原有的内容
- >>表示追加,会将内容追加到文件内容的末尾
(3)管道 |
- 将 一个命令的输出 可以通过管道 做为 另一个命令的输入
- more :分屏显示内容
- grep :| grep 在命令执行结果的基础上查询指定的文本
5、磁盘信息
# 显示磁盘剩余的空间
df -h
# 显示目录下的文件大小
du -h [目录名]
6、进程信息
# a显示终端上的所有进程,u查看进程的详细状况,x显示没有控制终端的进程
ps aux
# 动态显示运行中的进程并且排序
top
# 终止指定代号的进程, -9 表示强行终止
kill [-9] 进程代号
- 将 一个命令的输出 可以通过管道 做为 另一个命令的输入
- more :分屏显示内容
- grep :| grep 在命令执行结果的基础上查询指定的文本
5、磁盘信息
# 显示磁盘剩余的空间
df -h
# 显示目录下的文件大小
du -h [目录名]
6、进程信息
# a显示终端上的所有进程,u查看进程的详细状况,x显示没有控制终端的进程
ps aux
# 动态显示运行中的进程并且排序
top
# 终止指定代号的进程, -9 表示强行终止
kill [-9] 进程代号
# a显示终端上的所有进程,u查看进程的详细状况,x显示没有控制终端的进程 ps aux # 动态显示运行中的进程并且排序 top # 终止指定代号的进程, -9 表示强行终止 kill [-9] 进程代号
五、用户权限相关命令
1、组管理:
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | groupadd [-g] [组名] | 添加组,-g表示新用户组的组标识号(GID) |
| 02 | groupdel [组名] | 删除组 |
| 03 | groupmod [-g] [GID] [-n] [name] | 修改组,-n表示将用户组的名字改为新名字 |
| 04 | chgrp -R [组名] [文件/目录名] | 递归修改文件/目录的所属组 |
组信息保存在/etc/group文件中/etc目录是专门用来保存系统配置信息的目录
2、用户管理
| 序号 | 命令 | 作用 | 说明 |
|---|---|---|---|
| 01 | useradd -m -g [所属组] [新建用户名] | 添加新用户 |
|
| 02 | passwd [用户名] | 设置用户密码 | 如果是普通用户,可以直接用passwd修改自己的账户密码 |
| 03 | userdel [-r] [用户名] | 删除用户 | -r 选项会自动删除用户家目录 |
| 04 | usermod –g [组] [用户名] | 修改用户 | 参数命令和useradd一样 |
| 05 | cat /etc/passwd | grep [用户名] | 查看用户信息 | 用户信息会保存在/etc/passwd文件中 |
注意:
- 创建用户时,默认会创建一个和用户名同名的组名
- 用户信息保存在 /etc/passwd 文件中
3、修改文件权限管理
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | chown | 修改拥有者 |
| 02 | chgrp | 修改组 |
| 03 | chmod | 修改权限 |
命令格式如下:
# 修改文件|目录的拥有者 chown 用户名 文件名|目录名 # 递归修改文件|目录的组 chgrp -R 组名 文件名|目录名 # 递归修改文件权限 chmod -R 755 文件名|目录名
如果是描述一个普通文件:
- r 表示这个文件是可以读取,查看的
- w 表示这个文件是可以进行修改,但是不一定表示这个文件可以删除,因为还需要考虑这个文件所在的目录权限是否有能够删除的权限
- x 表示这个文件是可以执行的
如果描述的是一个目录:
-
r 表示这个目录可以进行查看
-
w 表示这个文件可以进行增加,删除或重命名
-
x 表示可以进入这个目录
-
"rwx"权限还可以使用数字来表示为:r=4,w=2,x=1,所以rwx=4+2+1=7
4、切换用户
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | su -用户名 | 切换用户,并且切换目录 |
| 02 | exit | 退出当前登录用户 |
1、关机/重启
# 重新启动操作系统,其中 now 表示现在
shutdown -r now
# 立刻关机,其中 now 表示现在
shutdown now
# 系统在今天的 20:25 会关机
shutdown 20:25
# 系统再过十分钟后自动关机
shutdown +10
# 取消之前指定的关机计划
shutdown -c
2、查看配置网卡信息
# 查看网卡配置信息
ipconfig
# 检测本地网卡
ping 127.0.0.1
ping IP地址
3、ssh远程登录和scp复制文件
ssh远程登录
# port是监听的端口,默认值为22
# user是远程机器上的用户名,默认为当前用户
# remote是远程机器的地址,可以说IP也可以是域名
ssh [-p port] user@remote
scp复制文件
# 把本地当前目录下的 1.txt 复制 到远程家目录下的 Desktop/1.txt
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 1.txt user@remote:Desktop/1.py
# 把远程 家目录下的 Desktop/1.txt 文件 复制到 本地当前目录下的 01.txt
scp -P port user@remote:Desktop/01.txt 01.txt
# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop
# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo
# 注意scp指定端口用的是大写的-P
# 查看网卡配置信息 ipconfig # 检测本地网卡 ping 127.0.0.1 ping IP地址
3、ssh远程登录和scp复制文件
ssh远程登录
# port是监听的端口,默认值为22
# user是远程机器上的用户名,默认为当前用户
# remote是远程机器的地址,可以说IP也可以是域名
ssh [-p port] user@remote
scp复制文件
# 把本地当前目录下的 1.txt 复制 到远程家目录下的 Desktop/1.txt
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 1.txt user@remote:Desktop/1.py
# 把远程 家目录下的 Desktop/1.txt 文件 复制到 本地当前目录下的 01.txt
scp -P port user@remote:Desktop/01.txt 01.txt
# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop
# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo
# 注意scp指定端口用的是大写的-P
# port是监听的端口,默认值为22 # user是远程机器上的用户名,默认为当前用户 # remote是远程机器的地址,可以说IP也可以是域名 ssh [-p port] user@remote



