Linux 入门(一) 简介和常用命令
Linux 入门(一) 简介和常用命令
- Linux 入门(一) 简介和常用命令
- 2. 文件系统
- 3. 常用命令
- 3.1 命令使用方法
- 3.2 查看帮助文档
- 3.3 常用命令
- 3.1 文件管理
- 1. 查看文件信息 ls
- 2.输出重定向命令:>
- 3. 分屏显示:more
- 4. 管道 |
- 5.清屏 clear
- 6. 切换工作目录 cd
- 7. 显示当前路径:pwd
- 8.创建目录:mkdir -p 递归创建目录
- 9 删除目录: rmdir
- 10 删除文件 rm
- 11.建立链接文件:ln
- 12. 查看或者合并文件内容:cat
- 13.文本搜索:grep
- 14.计算文件行数或字数:wc
- 15. 查找文件:find
- 16. 拷贝文件:cp
- 17.移动文件:mv
- 18. 获取文件类型:file
- 19. 归档管理:tar
- 20. 文件压缩解压:gzip
- 21.文件压缩解压:bzip2
- 22. 文件压缩解压:zip、unzip
- 23.查看命令位置:which
- 3.2 用户操作
- 3.3. 系统管理
- 4.动态显示进程:top
- 3.1 文件管理
只介绍干货,理论知识自行百度
2. 文件系统
2.1 目录和路径
2.1.1 目录
- 目录是一组相关文件的集合
2.1.2 路径
Linux系统目录分隔符为斜杠 " / "
- 绝对路径 是荣根目录开始 /
- 相对路径 是指从当前目录开始
.
2.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:放置系统执行过程中经常变化的文件
2.3 访问权限
- 读权限 (r)
- 写权限(w)
- 可执行权限(x)
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--: 其他用户拥有的权限,可读
3. 常用命令
3.1 命令使用方法
command [-options] [parameter1...]
- command: 命令名称,相应功能的英文单词缩写
- [options]: 选项
- [paramter1...]: 传递给命令的参数
[] 代表可以省略2命令使用方法
3.2 查看帮助文档
-
--help : 一般是 Linux 命令自带的帮助信息,并不是所有命令都自带这个选项。ls --help
-
man [选项] 命令名称 我们想查看 ls 的用法:man 1 ls
功能键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出man命令 |
h | 列出所有功能键 |
/word | 搜索word字符串 |
3.3 常用命令
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] 被压缩的文件
选项 | 含义 |
---|---|
-d | 解压 |
-r | 压缩所有子目录 |
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 |