文章目录
查看Linux内核版本,发行版本
内核
uname -a
uname -r
版本
cat /etc/issue
修改主机名:hostnamectl set-hostname xxx
一. Linux的文件权限与文件管理
1.1文件属性
1:文件类型权限
2:连接数
3:文件拥有者
4:文件所属群组
5:文件大小
6:文件最后被修改的时间
7:文件名
文件类型权限:
第一个字符代表 [目录, 文件或文件类型等] (-为文件, d为目录)
后面9个字符分为三组
分别代表 [文件拥有者权限, 文件所属群组权限, 其他用户权限]
1.2 改变文件属性和权限
-
chown (修改文件拥有者)
要改变的用户必须在 /etc/passwd文件内
chown -R 账号名 文件 (-R 表示递归变更)
chown -R 账号名:账号组 文件 (-R 表示递归变更)
-
chgrp (修改文件所属群组)
要改变的组名必须在 /etc/group文件内
chgrp -R 组名 文件 (-R 表示递归变更)
-
chmod (修改文件权限)
- 数字类型修改权限
r:4 w:2 x:1
chmod 770 filename - 符号类型修改权限
u代表用户,g代表群组,o代表其他用户,a代表所有
chmod u=rwx,go=r 文件名
chmod (a)+r/w/x 文件名 (都有可写都权限)
1.3 文件与目录的默认权限与隐藏权限
1.3.1 umask
在创建文件或者目录的时候会有默认权限,这个权限就是由umask来设置的
[tom@study ~]$ umask
0002
[tom@study ~]$ umask -S
u=rwx,g=rwx,o=rx
- 若创建的是 【文件】 则无(x)权限,(-rw-rw-rw-)最大为666
- 若创建的是 【目录】 则拥有所有权限,(drwxrwxrwx)最大为777
1.3.2 修改umask
相当于创建文件/目录时首先减去某些权限,然后创建的就是想要的默认权限
umask为003,创建的文件和目录的权限为?
文件:(-rw-rw-rw-)-(--------wx)= -rw-rw-r–
目录:(drwxrwxrwx)-(d-------wx)= drwxrwxr–
[tom@study ~]$ umask 022
[tom@study ~]$ mkdir uma1
[tom@study ~]$ touch umt1
[tom@study ~]$ ll -d uma1
drwxr-xr-x. 2 tom tom 4096 Nov 11 19:47 uma1
[tom@study ~]$ ll -d umt1
-rw-r--r--. 1 tom tom 0 Nov 11 19:47 umt1
1.4 文件与目录管理
1.4.1 cd (变换目录)
cd [filename]
切换到某个目录下
cd ~
切换到当前用户的主目录
cd ..
切换到上级目录
1.4.2 pwd (显示当前目录)
1.4.3 ls (显示文件或目录)
cd [-option] [文件或者目录名称]
-a: 全部的文件, 连同隐藏档
-d: 仅列出目录本身, 而不是目录内的文件数据
-l: 以列表的形式显示
-S: 按文件容量从大到小排列
-t: 按文件创建时间排序
-h: 列出文件容量(KB,GB)
-A: 显示全部文件,不包括. 和..
-i: 列出inode号码
-n: 列出UID与GID
-R: 连同子目录内容一起列出
1.4.4 touch (创建文件)
touch [filename] 创建一个文件,更多时候用echo >
1.4.5 mkdir(创建文件夹)
mkdir [-option] [filename] 创建一个文件夹
-p [file1/file2/· · ·] 递归创建目录
-m [权限] [filename] 配置文件的权限不被umask影响
1.4.6 rm (删除文件)
rm [-option] [filename] 删除一个文件
-f:强制删除,忽略不存在的文件,无提示
-r:递归删除目录下的内容用于文件夹的删除
-l: 删除时会提醒
1.4.7 cp (拷贝目录及文件)
cp [-option] [source] [destination]
-a:相当与-dr
-r:递归复制,用于目录的复制
-i:若目标文件存在,则会在覆盖前提醒
-d:若源文件为链接文件的属性,则复制链接文件属性而不是文件本身
1.4.8 mv(移动/重命名文件)
mv [-option] [source] [destination]
-f:若目标文件存在,直接覆盖
-i:若目标文件存在,会提醒
-u:若目标文件存在,且文件源比较新就更新
1.4.8 find(查找文件)
find [路径] [-option] [表达式]
-name:按名称查找
-size:按容量大小查找
-empty:查找空文件夹或目录
1.5 内容查看
1.5.1 cat
cat [-option] [filename] 从第一行开始显示
-b:对非空行输出行号
-n:连同空行输出行号
1.5.2 tac
tac[-option] [filename] 从第最后一行开始显示
1.5.3 more
more [filename] 分页查看
- 空格键:下翻一页
- Enter:下翻一行
- q:退出
1.5.4 less
more [filename] 分页控制查看
- 空格键:下翻一页
- [pagedown]:下翻一页
- [pageup]:上翻一页
- 方向键:翻一行
- Enter:下翻一行
- q:退出
1.5.5 head
head [option] [filename] 显示头几行
-n 显示前n行
1.5.6 tail
tail [option] [filename] 显示尾几行
-n 从距文件尾n行处开始显示
1.5.7 grep
grep [-option] [匹配模式] [filename]
-i:忽略大小写
-v:取反匹配
1.5.7 wc
wc[-option] [filename]
-c:显示字节数
-l:显示行数
-w:显示单词数
默认显示 行数, 单词数, 字节数
二. Linux账号管理与权限设定
2.1 账号群组信息
2.1.1 账号信息
保存在:/etc/passwd
user1:x:503:507::/home/user1:/bin/bash
各个字段用:分隔,分别为
账号名称,密码,UID,GID,用户信息说明,夹目录,Shell
2.1.2 密码信息
保存在:/etc/shadow
user1:Q0OhqOFqg8Q1fL2XYMrvQ/:18201:0:99999:7:::
各个字段用:分隔,分别为
账号名称,密码,最近更动密码的日期,密码不可被更动的天数,密码要重新变更的天数,密码要变更期限前的警告天数,密码过期后的账号宽限时间,账号失效日期,保留
2.1.3 群组信息
保存在:/etc/group
user1:x:507:
组名,群组密码,GID,此群组支持的账号名称
2.2 用户管理(要修改的用户都放在最后)
2.2.1 useradd(创建用户)
[root@study tom]# useradd user0
[root@study tom]# passwd user0
-m 强制建立夹目录
-u [UID] 指定一个特定的UID给这个账号
-G [次要群组] 让用户加入该群组
2.2.2 userdel (删除用户)
userdel [option] [username]
-r 连同用户的家目录一同删除
2.2.3 usermod (修改用户)
usermod [option] [username]
-a 与-G合用,可增加次要群组 [groupname] [username]
-G 后面接次要群组组名
-l 后面接新账号名,旧帐号名,即更改账号名
-L 将用户的密码冻结,无法登入
-U 将用户密码解冻
2.3 群组管理
2.3.1 groupadd(增加群组)
[root@study tom]# groupadd [option] [groupname]
-g 后面接特定的GID,直接给予某个GID
-r 建立系统群组
2.3.2 groupmod(修改群组)
[root@study tom]# groupmod [option] [groupname]
-g 修改既有的GID数字
-n [新组名] 修改既有的组名
2.3.3 groupdel(删除群组)
[root@study tom]# groupdel [option] [groupname]
-g 修改既有的GID数字
-n [新组名] 修改既有的组名
2.3.4 gpasswd(群组管理员功能)
[root@study tom]# gpasswd [option] [user] [groupname]
无参数:给群组设定密码
-a 将某位使用者加入到 groupname这个群组
-d 将某位使用者移出groupname这个群组
三. Linux的压缩打包
3.1 压缩,解压缩
3.1.1 gzip(会删除源文件)
gzip [-option] 压缩文件名/解压文件名
-d:解压缩
-v:显示指令执行过程
gzip filename 将当前目录下的filename文件压缩成.gz文件
gzip -d filename.gz 将当前目录下的filename.gz**解压**
3.1.2 bzip2(会删除源文件)
bzip[-option] 压缩文件名/解压文件名
-d:解压缩
-k:保留原文件
bzip2 filename 将当前目录下的filename文件压缩成.bz2文件
bzip2 -d filename.gz 将当前目录下的filename.bz2解压
3.2 打包
tar [-option] 自定义文件名.tar [要打包的文件1,文件2 ...]
-c:建立打包文件可搭配-v来查看过程中被打包的文件
-t:显示打包文件中的文件列表
-f:后面立刻接要文件名.tar.gz(bz2)
-x:解打包,解压缩的功能,可搭配-C 在特定目录解开
-z:透过gzip的支持进行压缩/解压缩,文件名最好为*.tar.gz
-j:透过bzip2的支持进行压缩/解压缩,文件名最好为*.tar.bz2
压缩: tar - [ z | j ] c v f filename.tar.gz(bz2) 要被压缩的文件或者目录
解压缩: tar - [ z | j ] x v f filename.tar.gz(bz2) -C 文件解压所放的位置
四. Linux的磁盘与文件系统管理
4.1 linux文件系统
Linux最传统的磁盘文件系统使用的是EXT2
磁盘分区完毕后还需经行格式化,才能使用这个文件系统,文件系统的运足与操作系统的文件数据有关。较新的操作系统的文件数据除了文件
实际内容外, 通常含有非常多的属性,例如 Linux 操作系统的文件权限(rwx)与文件属性(拥有者、群组、时间参数等)。文件系统通常会将这两部份的数据分别存放在不同的区块,权限与属性放置到inode 中,至于实际数据则放置到data block 区块中。另外,还有一个超级区块 (superblock) 会记录整个文件系统的整体信息,包括inode 与block 的总量、使用量、剩余量。
每个 inode 与block 都有编号
- inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block 号码;
- block:实际记录文件的内容,若文件太大时,会占用多个block
- superblock:记录此filesystem 的整体信息,包括inode/block 的总量、使用量、剩余量, 以及文件系统的
格式与相关信息等;
4.1.1磁盘与目录的容量
df (报告文件系统磁盘空间的使用情况)
df [-option] 目录或者文件名
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-i :不用磁盘容量,而以 inode 的数量来显示
du (报告磁盘空间使用情况)
du [-option] 目录或者文件名
-s :列出总量而已,而不列出每个各别的目录占用容量;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
4.1.2 磁盘与目录的容量
实体链接(Hard Link)
多个档名对应到同一个inode 号码,如果将任何一个『档名』删除,其实inode 与block 都还是存在的!
符号链接(Symbolic Link == 快捷方式)
Symbolic link 就是在建立一个独立的
文件,而这个文件会让数据的读取指向他link 的那个文件的档名!由于只是利用文件来做为指向的动作, 所以,当来源档被删除之后,symbolic link 的文件会打不开。
ln [-sf] 来源文件 目标文件
-s:不加参数就是硬链接 -s就是符号链接
-f:如果 目标文件 存在时,就主动的将目标文件直接移除后再建立!
4.2 磁盘的分区,格式化,检验与挂载
进制转换
echo "ibase=(输入的数是什么进制);obase=(要输出的是什么进制); 输入的进制的数字" | bc
删除用户要-d 删除组不用参数
把用户移出组: gpasswd -d 用户 组名
查看进程
ps [-option]
-A 显示所有进程
-a 显示一个终端的所有进程
-x 显示没有控制终端的进程,同时显示各个命令的具体路径
-u uid or username 选择有效的用户id或者是用户名 [用户名]
u 打印用户格式, 显示用户名和用户的起始时间
-A 显示所有进程