1.1 目录和路径
1.1.1 目录
1.1.2 路径
Linux系统目录分隔符为斜杠 ” / ”
- 绝对路径 是荣根目录开始 /
- 相对路径 是指从当前目录开始
.
1.2 目录结构
-
/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。
-
/bin****: /usr/bin****: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
-
/boot:放置linux系统启动时用到的一些文件
-
/dev****:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。
-
/etc:系统配置文件存放的目录
-
/home:系统默认的用户家目录
-
/lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录
-
/lost+fount****:系统异常产生错误时,会将一些遗失的片段放置于此目录下。
-
/mnt: /media:光盘默认挂载点
-
/opt****:给主机额外安装软件所摆放的目录。
-
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间
-
/root****:系统管理员root的家目录。
-
/sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能”查看”而不能设置和使用
-
/tmp****:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。
-
/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内
-
/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录
-
/var:放置系统执行过程中经常变化的文件
1.3 访问权限
1. 示例
[root@192 run]# ll
-rw-r--r--. 1 root root 6 5月 10 10:59 auditd.pid
- : 文件类型 -:代表文件,d代表文件夹,c代表硬件字符设备,b硬件块设备,s管道文件,l 软连接文件
rw-: 所有者拥有的权限,可读可写
r--: 用户组拥有的权限,可读
r--: 其他用户拥有的权限,可读
2. 常用命令
2.1 命令使用方法
command [-options] [parameter1...]
- command: 命令名称,相应功能的英文单词缩写
- [options]: 选项
- [paramter1...]: 传递给命令的参数
[] 代表可以省略2命令使用方法
2.2 查看帮助文档
- –help : 一般是 Linux 命令自带的帮助信息,并不是所有命令都自带这个选项。ls –help
- man [选项] 命令名称 我们想查看 ls 的用法:man 1 ls
功能键 |
功能 |
---|
空格键 |
显示手册页的下一屏 |
Enter键 |
一次滚动手册页的一行 |
b |
回滚一屏 |
f |
前滚一屏 |
q |
退出man命令 |
h |
列出所有功能键 |
/word |
搜索word字符串 |
2.3 常用命令
2.3.1 文件管理
1. 查看文件信息 ls
参数 |
含义 |
---|
-a |
显示指定目录下所有子目录与文件,包括隐藏文件 |
-l |
以列表方式显示文件的详细信息 |
-h |
配合 -l 以人性化的方式显示文件大小 |
2.输出重定向命令:>
ls > test.txt # 将查询的结果重定向到文件中
> 输出重定向会覆盖原来的内容,>> 输出重定向则会追加到文件的尾部。
3. 分屏显示:more
more index.html # 从头开始分屏查看index.html 空格查看下一页
4. 管道 |
管道: 一个命令的输出可以通过管道做为另一个命令的输入
ls -alh | more
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。
5.清屏 clear
6. 切换工作目录 cd
命令 |
含义 |
---|
cd |
切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。 |
cd ~ |
切换到当前用户的主目录(/home/用户目录) |
cd . |
切换到当前目录 |
cd .. |
切换到上级目录 |
cd – |
可进入上一个进入的目录 |
7. 显示当前路径:pwd
8.创建目录:mkdir -p 递归创建目录
9 删除目录: rmdir
10 删除文件 rm
可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。
参数 |
含义 |
---|
-i |
以进行交互式方式执行 |
-f |
强制删除,忽略不存在的文件,无需提示 |
-r |
递归地删除目录下的内容,删除文件夹时必须加此参数 |
11.建立链接文件:ln
- Linux链接文件类似于Windows下的快捷方式。
- 链接文件分为软链接和硬链接。
- 软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
- 硬链接:硬链接只能链接普通文件,不能链接目录。
ln 源文件 链接文件
ln -s 源文件 链接文件
没有 -s 代表硬链接
12. 查看或者合并文件内容:cat
cat 1.txt 2.txt > 3.txt # 将1,2 合并到 3
13.文本搜索:grep
grep [-选项] '搜索内容串' 文件名
选项 |
含义 |
---|
-v |
显示不包含匹配文本的所有行(相当于求反) |
-n |
显示匹配行及行号 |
-i |
忽略大小写 |
grep常用正则表达式:自行百度
14.计算文件行数或字数:wc
选项 |
含义 |
---|
-l |
统计行数 |
-w |
统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。 |
-c |
统计字节数 |
-m |
统计字符数。这个标志不能与 -c 标志一起使用。 |
15. 查找文件:find
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件
命令 |
含义 |
---|
find ./ -name test.sh |
查找当前目录下所有名为test.sh的文件 |
find ./ -name ‘*.sh’ |
查找当前目录下所有后缀为.sh的文件 |
find ./ -name “[A-Z]*” |
查找当前目录下所有以大写字母开头的文件 |
find /tmp -size 2M |
查找在/tmp 目录下等于2M的文件 |
find /tmp -size +2M |
查找在/tmp 目录下大于2M的文件 |
find /tmp -size -2M |
查找在/tmp 目录下小于2M的文件 |
find ./ -size +4k -size -5M |
查找当前目录下大于4k,小于5M的文件 |
find ./ -perm 0777 |
查找当前目录下权限为 777 的文件或目录 |
16. 拷贝文件:cp
选项 |
含义 |
---|
-a |
该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。 |
-f |
删除已经存在的目标文件而不提示 |
-i |
交互式复制,在覆盖目标文件之前将给出提示要求用户确认 |
-r |
若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。 |
-v |
显示拷贝进度 |
17.移动文件:mv
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名
-f |
禁止交互式操作,如有覆盖也不会给出提示 |
---|
-i |
确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,
系统会询问是否重写,要求用户回答以避免误覆盖文件 |
-v |
显示移动进度 |
18. 获取文件类型:file
19. 归档管理:tar
tar [options] 打包文件 文件
tar -cvf test.tar 1.txt 2.txt 3.txt 打包文件到test.tar
tar -xvf test.tar 解押文件
参数 |
含义 |
---|
-c |
生成档案文件,创建打包文件 |
-v |
列出归档解档的详细过程,显示进度 |
-f |
指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 |
-t |
列出档案中包含的文件 |
-x |
解开档案文件 |
-z |
打包文件时同时压缩 |
-C |
解压到指定目录 tar -zxvf test.tar.gz -C /home/test/ |
-j |
加上此参数可以实现bzip2压缩 |
20. 文件压缩解压:gzip
- tar与gzip命令结合使用实现文件打包、压缩。
- tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz
gzip [options] 被压缩的文件
21.文件压缩解压:bzip2
tar -cjvf 压缩包包名 文件 #压缩
tar -xjvf 压缩包包名 # 解压缩
22. 文件压缩解压:zip、unzip
- 压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
- 解压文件:unzip -d 解压后目录文件 压缩文件
23.查看命令位置:which
which ls
/usr/bin/ls
3.2 用户操作
1. 查看当前用户; whoami
2. 查看登录用户: who
who 命令用于查看当前所有登录系统的用户信息
选项 |
含义 |
---|
-m或am I |
只显示运行who命令的用户名、登录终端和登录时间 |
-q或–count |
只显示用户的登录账号和登录用户的数量 |
-u |
在登录时间后显示该用户最后一次操作到当前的时间间隔 |
-u或–heading |
显示列标题 |
3. 查看登陆用户: w
w [options] [用户名]
选项 |
含义 |
---|
-h |
只显示运行who命令的用户名、登录终端和登录时间 |
-l |
显示详细信息列表,此为预设值 |
-s |
使用短列表,不显示用户登录时间、JCPU和PCPU时间 |
-u |
忽略执行程序的名称,以及该程序的PCPU时间 |
4. 退出登录账户: exit
5. 切换用户: su
如果是ubuntu平台,需要在命令前加“sudo”
命令 |
含义 |
---|
su |
切换到root用户 |
su root |
切换到root用户 |
su – |
切换到root用户,同时切换目录到/root |
su – root |
切换到root用户,同时切换目录到/root |
su 普通用户 |
切换到普通用户 |
su – 普通用户 |
切换到普通用户,同时切换普通用户所在的目录 |
6. 添加,删除组账号: groupadd,groupdel
cat /etc/group 查看有多少用户组
7.修改用户所在组:usermod
usermod -g 用户组 用户名
8.添加用户账号:useradd
useradd [参数] 新建账号
9.设置用户密码:passwd
10.删除用户:userdel
命令 |
含义 |
---|
userdel abc(用户名) |
删除abc用户,但不会自动删除用户的主目录 |
userdel -r abc(用户名) |
删除用户,同时删除用户的主目录 |
11.查询用户登录情况:last
不管是哪位用户从哪里登录,管理员都可以通过last命令查出,以及是否有人非法登录。
12.修改文件权限: chmod
chmod 修改文件权限有两种使用格式:字母法与数字法。
[ u/g/o/a ] |
含义 |
---|
u |
user 表示该文件的所有者 |
g |
group 表示与该文件的所有者属于同一组( group )者,即用户组 |
o |
other 表示其他以外的人 |
a |
all 表示这三者皆是 |
[ +-= ] |
含义 |
---|
+ |
增加权限 |
– |
撤销权限 |
= |
设定权限 |
rwx |
含义 |
---|
r |
read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。 |
w |
write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 |
x |
excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 |
chmod o+w file 给文件file的其它用户增加写权限:
chmod u-r file 给文件file的拥有者减去读的权限:
chmod g=x file设置文件file的同组用户的权限为可执行,同时去除读、写
数字法:“rwx” 这些权限也可以用数字来代替
r |
读取权限,数字代号为 “4” |
---|
w |
写入权限,数字代号为 “2” |
x |
执行权限,数字代号为 “1” |
– |
不具任何权限,数字代号为 “0” |
如执行:chmod u=rwx,g=rx,o=r filename
就等同于:chmod u=7,g=5,o=4 filename
注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。
如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限。
13.修改文件所有者:chown
chown 用户名 文件或目录名
14. 修改文件所属组: chgrp
3.3. 系统管理
1. 查看当前日历: cal
2.显示或设置时间: date
date [MMDDhhmm[[CC]YY][.ss]] + format
3. 查看进程信息:ps
选项 |
含义 |
---|
-a |
显示终端上的所有进程,包括其他用户的进程 |
-u |
显示进程的详细状态 |
-x |
显示没有控制终端的进程 |
-w |
显示加宽,以便显示更多的信息 |
-r |
只显示正在运行的进程 |
4.动态显示进程:top
可以在使用top命令时加上-d
按键 |
含义 |
---|
M |
根据内存使用量来排序 |
P |
根据CPU占有率来排序 |
T |
根据进程运行时间的长短来排序 |
U |
可以根据后面输入的用户名来筛选进程 |
K |
可以根据后面输入的PID来杀死进程。 |
q |
退出 |
h |
获得帮助 |
5.终止进程
kill命令指定进程号的进程,需要配合 ps 使用。
kill [signal] pid /# 信号值为 0-15 9为绝对终止
6.后台程序:&、jobs、fg
- 用户可以将一个前台执行的程序调入后台执行,方法为:命令 &
- 如果程序已经在执行,ctrl+z可以将程序调入后台
- jobs查看后台运行程序
- fg编号(编号为通过jobs查看的编号),将后台运行程序调出到前台
7.关机重启:reboot、shutdown、init
命令 |
含义 |
---|
reboot |
重新启动操作系统 |
shutdown –r now |
重新启动操作系统,shutdown会给别的用户提示 |
shutdown -h now |
立刻关机,其中now相当于时间为0的状态 |
shutdown -h 20:25 |
系统在今天的20:25 会关机 |
shutdown -h +10 |
系统再过十分钟后自动关机 |
init 0 |
关机 |
init 6 |
重启 |
8. 检测磁盘空间:df
df命令用于检测文件系统的磁盘空间占用和空余情况
选项 |
含义 |
---|
-a |
显示所有文件系统的磁盘使用情况 |
-m |
以1024字节为单位显示 |
-t |
显示各指定文件系统的磁盘空间使用情况 |
-T |
显示文件系统 |
-h |
以GB显示 |
9. 检测目录所占磁盘空间:du
du [选项] 目录或文件夹
选项 |
含义 |
---|
-a |
递归显示指定目录中各文件和子目录中文件占用的数据块 |
-s |
显示指定文件或目录占用的数据块 |
-b |
以字节为单位显示磁盘占用情况 |
-l |
计算所有文件大小,对硬链接文件计算多次 |
-h |
显示单位 |
11.格式化:mkfs
mkfs [options] 设备文件名 [blocks]
选项 |
含义 |
---|
-V |
详细显示模式 |
-t <.fs> |
指定文件系统类型,默认值为 ext2 |
-c |
在创建文件系统的同时,进行磁盘坏块检查 |
blocks |
文件系统块的大小 |
12.应用软件安装和卸载
RPM 的全称为Redhat Package Manager ,是由Redhat公司提出的,用于管理Linux下软件包的软件
rpm [options] [soft package]
选项 |
含义 |
---|
-i |
指定安装的软件包 |
-h |
使用“#”显示详细的安装过程及进度 |
-v |
显示安装的详细信息 |
-q |
查询系统是否已安装指定的软件包 |
-a |
查看系统已安装的所有软件包 |
-e |
卸载软件包 |
–nodeps |
配合-e参数使用,强制卸载不检查依赖项 |
–force |
强制操作 如强制安装删除等 |
13.测试远程主机连通性:ping
- ping通过ICMP协议向远程主机发送ECHO_REQUEST请求,期望主机回复ECHO_REPLY消息
- 通过ping命令可以检查是否与远程主机建立了TCP/IP连接
使用方法:ping [参数] 远程主机IP地址
参数 |
功能 |
---|
-a |
每次相应时都发出声音警示 |
-A |
表示以实际往返相应时间为间隔,连续发送消息 |
-f |
连续不断发送消息,不管是否收到相应 |
-n |
只显示主机IP,不需要把IP解释成主机名 |
-c |
发送指定次数数据报信息后停止,ping -c 5 192.168.10.254 |
-i |
每次发送消息时间间隔,默认一秒,ping -i 2 192.168.10.254 |
-s |
分组数据大小,默认56字节 |
-w |
以秒为单位的超时值,一旦超时,就立即停止 |
14.监控网络状态:netstat
字段 |
说明 |
---|
Proto |
协议,如:tcp,udp |
Recv-Q |
尚未读取的数据字节数 |
Send-Q |
尚未发送的数据字节数 |
Local_address |
本地主机地址与端口号 |
Foreign_address |
远程主机与端口号 |
State |
网络连接状态 |
RefCnt |
引用计数,表示加接到相应套接字的进程数量 |
Flags |
标志字段 |
Type |
套接字类型,如:(SOCK_DGRAM, SOCK_STREAM,SOCK_RAW) |
State |
套接字状态 |
Path |
套接字路径名 |
参数 |
功能 |
---|
-a |
列出所有端口 |
-i |
显示网络接口列表 |
-at |
所有tcp端口 |
-au |
所有udp端口 |
-l |
所有监听端口 |
-lt |
tcp监听端口 |
-lu |
指定网络接口 |
-s |
显示所有协议统计信息 |
-r |
当前路由状态 |
-p |
输出中显示 PID 和进程名称,可以与其它开关一起使用,如:-pt |