파일 관리 파일 권한을 사용자 기반 명령을 관리
첫째, 디렉토리 구조 계층 구조 표준
1, 디렉토리 구조
它的主要目的是希望让用户可以了解到每个目录的作用和将来安装软件存放的位置以及操作系统自身运行的目录。
/:文件结构最高处,也是整个文件系统结构的根目录
/bin:存放可执行的二进制程序,管理员和普通用户都可以使用
/sbin:用来存放用于管理员使用的存储二进制系统程序文件 大部分文件只有管理员才能执行。
/usr/bin:多数日常应用程序存放在这
/usr/sbin:超级用户不需要的系统管理程序
/user/local/bin:目录是给用户放置自己的可执行程序的地方
/usr/local/sbin:与本机自行安装的软件产生的系统执行文件
/boot:存放系统引导文件:内核、ramfs文件、bootloader(grub)
/dev:设备文件存放目录
/etc:配置文件的集中存放目录
/etc/sysconfig:系统级别的应用
/etc/init.d:系统服务脚本
/home :普通用户,默认在/home下有一个与其名称同名目录,作为用户的家目录
/root:管理员的家目录
/lib,/lib64:库文件
/media:专用挂载位置,通常用来挂载便携式设备
/mnt:专用挂载位置,挂载额外的存储设备
/misc:杂项,备用目录
/opt:可选目录,但通常用来安装第三方软件
/proc:所显示的文件都不是文件伪文件系统,运行中的内核参数的映射运行在内存当中
/sys:伪文件系统,系统级别的用于配置硬件设备相关的参数
/srv:为服务提供数据存放位置的
/tmp:临时文件系统:默认存放30天
/usr:shared 所有遵循协议的系统都可以使用,readonly 只读
/usr/include:头文件存放位置
/var:经常发生变化的文件:
/var/log
/var/lock
/var/run
/var/cache
2, 인식 된 파일 형식
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其它文件
普通文件:普通文件。长列表中以下划线 _ 开头。
目录文件:目录文件。长列表中以英文字母 d 开头。
3, 특수 파일 (파일과 같은 다섯 가지 유형)
链接文件:链接文件。长列表中以英文字母 l 开头。
字符设备文件:字符设备文件。长列表中以英文字母 c 开头。
Socket 文件:Socket 文件。长列表中以英文字母 s 开头。
命名管道文件:命名管道文件。长列表中以英文字母 p 开头。
块文件:块文件。长列表中以英文字母 b 开头。
파일 관리 명령
绝对路径:从根目录开始直到文件位置
相对路径:从当前位置开始的路径
1, cd 명령 : 명령에 매개 변수로 새 디렉토리에 CD, 당신은 디렉토리로 전환 할 수 있습니다
옵션 :
. 当前目录
.. 切换至父目录及上一级目录
~ 切换到别的账号家目录cd ~wjc
- 切换至以前的工作目录,仅可撤销一次.
2, LS는 나열 명령이 디렉토리의 내용을
옵션 :
-a :包含隐藏文件
-l:长格式显示额外的信息
-R:目录递归通过
-ld:目录和符号链接信息
-1:文件分行显示
-S:按从大到小排序
-t:按时间排序
-u:配合-t选项,显示并按atime从新到旧排序
-U:按目录存放顺序显示
-X:按文件后缀排序
-m 所有项目以逗号分隔,并填满整行行宽
stat 查看文件的所有时间信
3, 파일 마스크 | 특수 기호
通配符
^:以什么什么开头
*:匹配零个或多个字符
?:匹配任何单个字符
~:当前用户家目录
~mage: 用户mage家目录
~+ :当前工作目录
~-:前一个工作目录
【0-9】匹配数字范围
【a-z】匹配小写字母范围
【A-Z】匹配大写字母范围
【wujiancong】匹配列表中的任何一个字符
【^wujiancong】匹配列表中的所有字符以外的字符
와일드 카드 특수 기호
【:digit:】任意数字,比如0-6
【:lower:】任意小写字母
【:upper:】任意大写字母
【:alpha:】任意大小写字母
【:alnum:】任意数字和字母 所有的字母和数字
【:blank:】t水平空白字符
【:space:】所有横向或纵向的空白
【:punct:】标点符号
【:print:】可打印字符(所有课打印字符和空白)
【:cntrl:】控制(非打印)字符
【:graph:】图形字符
【:xdigit:】十六进制字符
열 쇼 :
ls /etc/i*[[:digit:]]*[[:lower:]]
ls /etc/[0-9]*[^0-9]
ls /etc/[^[:alpha:]][[:alpha:]]*
ls /etc/rc[0-6]*
ls /etc/*.d
ls /etc/[mnrp]*.conf
ls -a .*
ls -d /etc/*/
4, touch 명령은 빈 파일을 만듭니다
옵션 :
-c:不创建空文件,只修改时间戳
-t:指定时间戳
-a:仅修改访问时间
-m:仅修改修改时间
先加-m,在加-t 后跟时间
5, mkdir 명령은 디렉토리를 작성
-p:存在于不报错,且可自动创建所需的目录
-v:显示详细信息
-m: MODE:创建目录时直接指定权限
6, CP 명령은 파일과 디렉토리를 복사
옵션
-a :이 매개 변수의 효과 및 지정 "-dpR"동일한 매개 변수, -d : 당신은 심볼릭 링크를 복사 할 때 대상 파일이나 디렉토리는 원본 파일에 대한 심볼릭 링크 가리키는 설립 및 소스 파일이나 디렉토리 또는 연결되어 디렉토리, -f : 힘에 관계없이 대상 파일이나 디렉토리가 이미 존재 여부, 파일이나 디렉토리를 복사, -i을 : 처음 두 문서를 커버하기 전에 사용자에게 물어; -l : 오히려 파일을 복사하는 것보다, 소스 파일에 하드 링크를 설정, -p를 : 재귀 처리, 함께 처리 지정된 디렉토리 및 하위 디렉토리에있는 모든 파일, -s : -R / R, 소스 파일이나 디렉토리의 보유 속성은 파일을 복사하는 대신, 소스 파일에 대한 기호 링크를 작성, -u :이를 사용 단지 소스 파일에서 대상 파일을 업데이트하거나 입력 매개 변수 후 존재하지 않는 각 대상 파일의 이름에 해당하는 시간을 변경 비교할 때, 파일 만 복사, -S를 : 파일 대신 지정된 접미사 "접미사"로 파일을 백업 할 때 기본 접미사, -b : 대상 파일이 기존 파일의 백업 대상을 덮어 쓰기 전에, -v : 작업 명령을 상세하게 도시. SCP는 네트워크 파일 복사 사용을 통해 명령 : SCP wget.txt 192.0.0.0:/data 열 및 암호 표시 CP를 제공 -av / 등 / / 데이터 / 등 date +%F
복사 열은 cp -a / 루트 / 데이터 / ROOTDIR를 표시 시간을 추가 한 후
7, MV 명령은 파일을 이동하고 파일 이름을 바꾸려면
-i 交互式
-f 强制删除
-r 递归
8, rm 명령은 빈 디렉토리를 삭제 RMDIR을 삭제합니다
rmdir 删除空目录 -p:递归删除父目录 -v:显示详细信息
rm 命令 移除,删除非空目录
-r:删除提示是否删除
rm -rf 强制删除不提示
9, 아이 노드의 아이 노드
Inode(index node),索引节点。Linux系统中,分区要进行格式化,创建文件系统。在每个Linux存储设备或存储设备的分区(可以是硬盘,软盘,U盘等)被格式化为ext3文件系统后,一般分为两个部分:第一部分是Inode,第二部分是Block。
Block是用来存储文件实际内容的,例如:文本内容,照片内容,视频内容等。
而inode是用来存储这些文件属性信息的(也就是ls -l的大部分内容),inode包含的属性信息包括文件大小,用户ID,组ID,读写权限,文件类型,修改时间,还包括指向文件实体的指针的功能,但是,不包括文件名。
因为inode要存放文件的属性信息,所以inode是有大小的。有的系统是128字节,有的是256字节,看系统实现。inode大小在文件系统被格式化之后就无法更改了,格式化之前可以指定inode大小。
ll -i 查看目录或文件节点(inode)编号
stat 文件 :查看文件的lnode信息
10, 하드 및 소프트 연결
소프트 연결
文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的”软链接”(soft link)或者”符号链接(symbolic link)。
这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:”No such file or directory”。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode”链接数”不会因此发生变化
하드 유선
一般情况下,文件名和inode号码是”一一对应”关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指同一个inode号码。
这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为”硬链接”(hard link)。
하드 와이어드 LN
ln -s 软连接可跨分区
ln -s [源文件或目录] [目标文件或目录]
ln –snf [新的源文件或目录] [目标文件或目录] 这将会修改原有的链接地址为新的地址
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
11 파일 명령은 파일 형식을 볼 수 있습니다
명령 매개 변수 :
-b 列出文件辨识结果时,不显示文件名称。
-c 详细显示指令执行过程,便于排错或分析程序执行的情形
-f 列出文件中文件名的文件类型
-F 使用指定分隔符号替换输出文件名后的默认的":"分隔符。
-i 输出mime类型的字符串
-L 查看对应软链接对应文件的文件类型
-z 尝试去解读压缩文件的内容
--help 显示命令在线帮助
-version 显示命令版本信息
12 표준 파이프 IO 및 I / I에 O 장치의 3 종류 / O 디바이스는 파일로 재
오류 출력은 파일로 재
命令 | 操作符号 | 文件名 | 操作符号 |
> 把SEDOUT(标准输出)
2> 把STDERR(标准错误)重定向到文件
&> 把所有输出重定向到文件
> 追加符号文件内容会被覆盖
sec -C 禁止将内容覆盖已有文件,但是可以追加
sec +C 允许覆盖
>| file 强制覆盖
>> 原有内容基础上,追加内容
2> 覆盖重定向错误输出数据流
2>> 追加重定向错误输出数据流
标准输出和错误输出各自定向至不同位置
命令 > /path/to/file.out 2> /path/to/error.out
合并标准输出和错误输出为统一个数据流进行重定向
&> 覆盖重定向
&>> 追加重定向
()多个数据流进行重定向
(ls,ll) > /tmp/laji.log
bc < /file1.txt
bc < f2.txt > f3.txt 标准输入和输出不能再同一个文件。
<< 多行重定向
13 TR 명령은 파일을 변환하거나 문자를 삭제합니다
TR 명령
tr指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
tr ‘cvf’ ‘hjb’ 替换
-d 删除指定内容
-c 取字符集补集 tr -dc ‘abc’ (除abc以外全删)
-s 取字符集连续字符
示列: [root@iZrcplwgv2yai5Z ~]# tr -s 'abc'
aabbccdd
abcdd
tr '[:lower:]' '[:upper:]' < /etc/issue > /tmp/issue.out
대문자 출력의 내용을 수정
cat jiji.out | tr '[:lower:]' '[:upper:]' > ki.out
도로 대문자로 출력 된 내용을 수정
who | tr 'a-z' 'A-Z' > po.txt 将当前用户信息修改为大写保存
将文件testfile的中的小写字母全部转换成大写字母
cat testfile | tr az AZ
14, 16 진 덤프 바이너리 파일 뷰어
它可以将二进制文件转换为ASCII、八进制、十进制、十六进制格式进行查看。
选项:-c 每个字节显示为ASCII字符
(15)은 컨텐츠 출력 명령 및 데이터는 표준 입력 파일로 읽어
cat /etc/sysconfig/network-scripts/ifcfg-ens33 |tee
jiji.out 查询结果输出为文件
-a 选项 不覆盖替换文件内容:ls /etc |tee -a jiji.out
16 VI 입력 모드
입력 작업
i insert,在光标所在处输入
I 在当前光标所在行的行首输入
a append,在光标所在处后面输入
A 在当前光标所在行的行尾输入
o 在当前光标所在行的下方打开一个新行
O 在当前光标所在行的上方打开一个新行
q:退出 q!:强制退出 wq:保存退出
x:保存退出 zz:保存退出 zq:不保存退出
VI 확장 명령
!:执行命令
r!:读入命令的输出
w:将当前文件内容写入到另一个文件
r:读文件内容到当前文件中
명령 모드 작업 복귀
ctrl+f:向文件尾部翻一屏
ctrl+b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
문자 편집기
x:删除光标处的字符 #x:删除光标处起始的#歌字符
xp:交换光标所在处的字符及其后面字符的位置
~:转换大小写 J:删除当前行后的换行符
명령을 교체
r:替换光标所在处的字符 R:切换为取代模式
명령을 삭제
d:删除命令,结合上下键删除上下行,左右一个字母
d$:光标处删除到行尾 dw:删除光标往前单词
de:删除光标往后单词 db:删除光标
dd:删除光标所在行 D:从当前光标位置删除到行尾
복사 명령
ye:复制光标所在单词 yw:复制光标往前单词
yb:复制光标所在处前单词
命令模式:查找
/jiji:从当前光标所在处向文件尾部查找 n:查询结果往上搜
?jiji:从当前光标所在处向文件首部查找 N:查询结果往下搜
명령 모드 : 변경 사항을 취소
u:撤销最近的更改 U:撤销最近的多次修改
#u:撤销之前多次更改 .:重复前一个操作
v:选择性删除结合 y辅助或d删除多种使用
여러 개의 창을 사용하여
-o:水平分割 -O:垂直分割
ctrl+w :多窗口切换
VIM의 사용자 지정 동작 특성
配置文件:永久有效
全局:/etc/vimrc 个人:~/.vimrc
확장 명령 모드 : 현재 프로세스 효과적인 정력
set nimber 显示行号
set nonumber 取消显示
set ignorecase:启用忽略字符大小写
set noic:禁用忽略字符大小写
서식을 보존 복사합니다
启用:set paste 禁用:set nopaste
显示Tab和隐藏换行符 ^I 和$显示
启用:set list 禁用:set nolist
하이라이트 검색
启用:set hlsearch 禁用:set nohlsearch
语法高亮
启用:syntax on 禁用:syntax off
파일 형식 변환 및 식별 라인의 선폭
set fileformat=dos(简写:set ff=dos) 转换为windows格式
set fileformat=unix (简写:set ff=unix) 转换为unix
设置文件换行宽度
set textwidth=65 set wrapmargin=15
光标所在行的标识线
set cursorline(简写:set cul):光标所在行加标识符
set nocursoline(简写:set nocul):取消光标标识符
세트는 지침의 설정
set:列出当前指令 set all:列出所有指令
정력 내장 도움
help :help topic vimtutor:练习
标准输入和输出及操作符号
程序:指令+数据
读入数据:input 输出:Output
打开的文件都有一个fd:file descriptor(文件描述符)
리눅스 장치는 세 개의 IO를 제공
标准输入(STDIN)-0 默认接受来自键盘的输入
标准输出(STDOUT)-1 默认输出到终端窗口
标准错误(STDERR)-2 默认输出到终端窗口
출력 및 오류 파일로 리디렉션
格式 命令 操作符号 文件名
지원되는 운영 기호 포함
> 把输出重定向到文件
2> 把错误输出重定向文件
&> 把所有输出重定向文件
> 파일의 내용을 덮어 씁니다
set -C :禁止将内容覆盖已有文件,单可追加
>| file 强制覆盖
set+c:允许覆盖
>>:原有内容基础上,追加内容
셋째, 파일 관리 및 사용자 권한 관리
사용자 관리 명령 은 useradd : 사용자 만들기
-d<登入目录> 指定用户登入时的目录。
-g<群组> 初始群组。
-G<群组> 非初始群组。
-m 自动创建用户的家目录。
-M 不要创建用户的家目录。
-N 不要创建以用户名称为名的群组。 useradd -N wjc
-s 指定用户登入后所使用的shell。
-o 允许创建用户相同的UID:列如 useradd -u 1000 -o wjc
-r: 创建系统用户 特点:id 1-499 不会为用户创建家目录 默认shell
为/sbin/nologin
배치가 암호를 변경 : 고양이 pass.txt을 | chpasswd
/etc/skel 新建用户时默认复制skel家目录 /etc/defaults/useradd
/etc/login.defs 默认创建用户账户属性
-s /sbin/nologin
사용자 속성을 수정하고 usermod
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。 usermod -e 2019.07.15 wjc 最够过期时间为07.15
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s<shell> 修改用户登入后所使用的shell。
-u<uid> 修改用户ID。
-U 解除密码锁定。
usermod -G “ ” wjc 去除所有附加组
userdel 删除用户及家目录
-r 一并删除家目录
암호 옵션 설정
passwd [OPTIONS] UserName: 修改指定用户的密码
常用选项:
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-f:强制操作
-n mindays:指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码
示例:echo "PASSWORD" | passwd --stdin USERNAME
사용자 암호 정책을 수정
-l:列出用户的以及密码的有效期限
-m:修改密码的最小天数
-M:修改密码的最大天数
-I:密码过期后,锁定帐号的天数
-d:指定密码最后修改的日期
-E:有效期,0表示立即过期,-1表示永不过期
-W:密码过期前,开始警告天数
다른 사용자 관련 명령
chsh 指定个人信息
chsh 指定shell
finger:查看用户信息
-l:显示用户信息
-m:指定用户信息
그룹 관리
goroupmems 명령
-a 指定用户加入组
-d 从组中删除用户
-p 从组中清除所有成员 ,只能清除附加组
-l 显示组成员列表
groupadd创建组
groupadd [OPTION] group_name
-g GID 指明GID号;[GID_MIN, GID_MAX]
-r 创建系统组 CentOS 6: ID<500 CentOS 7: ID<1000
그룹 속성 수정
-n group_name: 新名字-g GID: 新的GID
groupdel :删除组
pwconv 命令 开启用户/etc/passwd的投影密码
chfn 用户 :增加用户修改描述信息
chsh 命令用于查看显示和修改我们系统的登陆shell。
-l 查看当前shell
cat /etc/shells 查看当前shell
echo $SHELL :查看当前正在使用的shell。
chsh 修改当前shell
id命令 查看用户id号
-u 显示uid
-g 显示gid
-G 显示用户所属的组的ID
-n 显示名称,需要配合ugG使用
sudo 命令
su 不完全切换
-l 完全切换
- -c 切换用户查看信息然后退回,su - wjc -c 'ls /tmp/'
CHAGE 명령은 사용자의 날짜의 속성을 수정하는 방법
-I: 设置活动天数
-m:修改密码最小使用时间
-M:修改密码最长使用时间
-W:警告时间
파일 권한
수정 된 파일의 소유자 및 그룹
디지털 방식은 chmod를 수정하는 755의 허가 / tmp를 / WJCs /
chown 명령 : 수정 파일은 주 -R에 속하는 : 재귀 --refernce 파일 : chgrp 명령 참조 : 파일이 그룹 -R에 속하는 수정 : 재귀 파일 권한 U, G, O 소유자 소유자, U 그룹은 그룹 g 기타 기타, 오입니다
기본 파일 권한 :
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权
限,则将其权限+1
新建目录的默认权限:777-umask
파일 권한 :
r:Readable 读 可使用文件查看类工具获取其内容
w:Writable 写 可修改其内容
x:eXcutable执行 可以把此文件提请内核启动为一个进程
특별 권한 : SUID, SGID, 스티커
SUID는 : 일반 사용자가 (passwd를) 명령을 실행하면 명령 및 바이너리를 들어, 사용자에게 해당이 명령에 액세스 할 수 있습니다.
SGID (같은 그룹에 속한) 여러 사용자가 카탈로그를 원하는 처리 할 수있는 동일한 사용자 그룹을 공유 할 수있는
끈적 끈적한 비트 (t) : 모든 권리는 폴더를 열고, 다음과 같은 동일한 tmp를 /와 같은 파일 공유를하지만, 생산 환경은 일반적으로 사용하지 않는
用法:
chmod u+s file
chmod u-s file
chmod g+s file
chmod g-s file
chmod g+s file
chmod g-s file