Linux 入门(一) 简介和常用命令

Linux 入门(一) 简介和常用命令

目录

只介绍干货,理论知识自行百度

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 查看帮助文档

  1. --help : 一般是 Linux 命令自带的帮助信息,并不是所有命令都自带这个选项。ls --help

  2. 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
posted @ 2020-05-11 22:25  松间明月447  阅读(163)  评论(0编辑  收藏  举报