马哥门徒-N26-邢岩
度过了一个愉快的春节,又到了上班的时候了!我的Linux基础学习也进行到了疯狂记命令的阶段,痛并快乐着!那就让我来说一下Linux上的文件管理类命令都有哪些吧。
Linux的文件相关命令还是蛮多的,我不妨简单的总结一下,归结为6类常用的命令:
1、目录切换类命令
pwd命令:显示工作目录 print name of current/working directory
使用格式:pwd [OPTION]…
常见用法:
-P:显示真实路径(即非快捷链接的地址)
cd命令:切换工作路径 Change the shell working directory
使用格式:cd [/PATH/TO/SMEDIR]
常见用法:
cd: 切换回家目录
cd ~ : 切换回自己的家目录
cd ~USERNAME:切换至指定用户的家目录
cd -: 在上一个所在目录与当前目录之间来回切换
cd .: 当前工作目录
cd ..: 上一级的工作目录
ls命令:列出指定目录下的内容 list directory contents
使用格式: ls [OPTION]… [FILE]…
常见用法:
-a: 显示所有文件,包括隐藏文件
-A:显示除.和..之外的所有文件
-l:–long,长格式列表,即显示文件的详细属性信息
-h,–human-readable:对文件容量进行单位换算,换算后的结构可能会非精确值,如k,m,g
-d:查看目录自身而非其内部的文件列表
-r:reverse, 逆序显示
-R:recursive,递归显示
2、文件字符通配glogbbing命令:
*:匹配任意长度的任意字符
pa*表示所有以pa开头的文件
pa, paa, passwd
*pa* 表示文件名中包含pa
*pa 表示pa 在尾部
*p*a* 表示包含p a
?: 匹配任意单个字符
pa?
??pa, p?a, p?a?
[]: 匹配指定范围内的任意单个字符,有几种特殊格式:
[a-z], [A-Z], [0-9], [a-z0-9]
[[:upper:]]: 表示所有的大写字母
[[:lower:]]: 表示所有的小写字母
[[:alpha:]]: 所有字母
[[:digit:]]: 所有数字
[[:alnum:]]: 所有的字母和数字
[[:space:]]: 所有的空白字符
[[:punct:]]: 所有的标点符号
pa[0-9][0-9] 表示pa 后跟两个数字
[^]: 匹配指定范围外的任意单个字符
[^[:uper:]]: 指定大写字符以外的所有字符
[^0-9]:指定数字以外的所有字符
[^[:alnum:]]:指定字母和数字以外的所有字符
3、文本文件编辑命令
cat:文本文件查看器,正序 concatenate files and print on the standard output
使用格式: cat [OPTION…] [FILE]…
常见用法:
-n: 给显示的文本行编号
-b: 显示行号,不包括空行
-E:显示行结束符$
-A:显示出“不可见”的符号,如空格、Tab键等
tac:文本文件查看器,逆序 concatenate and print files in reverse
tar:用于对文件打包、压缩或解压
使用格式: tar [OPTION…] [FILE]…
常见用法:
打包并压缩文件:tar -czvf NAME.tar.gz FILESNAME
解压并展开压缩包:tar -xzvf NAME.tar.gz
-c:创建压缩文件
-x:解开压缩文件
-t:查看压缩包内有哪些文件
-v:显示压缩或解压的过程
-C:指定解压到的目录
注意:因为这个命令我亲手毁掉了一个CentOS系统,执行这个命令时要慎重,/etc 文件不能随便压缩
tr:转换文本文件中的字符 translate or delete characters
使用格式:tr [OPTION]… SET1 [SET2]
常见用法:常用于大小写转换
tr SET1 SET2 < /path/from/somefile
tr -d SET1 < /path/from/somefile
tr -s [a-z] [A-Z] 注意:根据我个人经验,此处的[ 和 ]要用全角的才可以,半角的不行!
wc:用于统计指定文本的行数、字数、字节数 print newline, word, and byte counts for each file
使用格式:
wc [OPTION]… [FILE]…
wc [OPTION]… –files0-from=F
常见用法:
-l: 只显示行数
-w: 只显示单词数
-c: 只显示字节数
diff:用于比较两个文本文件的差异 compare files line by line
使用格式: diff [OPTION]… FILES
常见用法:
-b: 忽略空格引起的差异
-B: 忽略空行引起的差异
-q: 仅报告是否存在差异
tee: tee – read from standard input and write to standard output and files
使用格式: tee [OPTION]… [FILE]…
常见用法: COMMAND | tee /path/to/somefile
4、文件查看、查询、搜索命令:
stat:显示文件系统信息 display file or file system status
使用格式: stat [OPTION]… FILE…
常见用法:
时间戳:
access time:2017-02-04 15:30:21.454611619 +0800
modify time:2017-02-04 15:29:57.681410179 +0800
change time:2017-02-04 15:29:57.681410179 +0800
touch:用于创建空白文件或者更改文件的时间戳 change file timestamps
使用格式: touch [OPTION]… FILE…
常见用法:
-c:指定的文件路径不存在时不予创建
-a:仅修改access time
-m:仅修改modify time
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
grep:用于对文本进行搜索 print lines matching a pattern
使用格式:grep [OPTIONS] PATTERN [FILE…]
常见用法;
-c:仅显示找到的次数
-i:忽略大小写
-n:显示行号
find:用于查找文件 search for files in a directory hierarchy
使用格式:find [path…] [expression]
常见用法:
-name:匹配名称
-user:匹配属主
-group:匹配属组
alias:定义或显示别名
tree:文件显示成树的格式 list contents of directories in a tree-like format
使用格式:tree [options] [directory]
常见用法:
-L level:指定要显示的层级
cut:用于通过列来提取文本字符
使用格式:cut [OPTION]… [FILE]…
常见用法:
-d:指定分隔符
-f:指定显示的列数
od:用于查看特殊格式的文件 dump files in octal and other formats
使用格式: od [OPTION]… [FILE]…
常见用法:
-ta:默认字符
-tc:ASCII字符
-to:八进制
-td:十进制
-tx:十六进制
-tf:浮点数
more和less:分屏查看命令
head:查看文件的前n行
使用格式:head [options] FILE
常见用法:
-n #(#代表一个数字)
-#
tail:查看文件的后n行
使用格式:tail [options] FILE
常见用法:
-n #(#代表一个数字)
-#
-f: 显示文件尾部内容结束后不退出,跟随显示新增的行
file:查看文件内容类型
使用格式:file [ortions] FILE
which:显示命令的完整路径 shows the full path of (shell) commands
使用格式:which [options] programname […]
常见用法:
–skip-alias: 忽略别名
whereis:locate the binary, source, and manual page files for a command
使用格式:whereis [options] name…
常见用法:
-b: 仅搜索二进制程序路径
-m: 仅搜索使用手册文件路径
5、文件目录管理命令:
mkdir:创建目录 make directories
使用格式: mkdir [OPTION]… DIRECTORY…
常见用法:
-p:可以自动按需创建不存在的目录
-v:verbose, 显示详细过程
-m MODE:直接给定权限
rmdir:remove empty directories 仅用于删除空目录
使用格式:rmdir [OPTION]… DIRECTORY…
常见用法:
-p:删除某目录后,如果其父目录为空,则一并删除之
-v:显示过程
cp:复制文件或目录 copy files or directories
使用格式:单源复制: cp [OPTION]… [-T] SOURCE DEST
多源复制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
单源复制:cp [OPTION]… [-T] SOURCE DEST
如果DEST不存在:则事先创建此文件,并复制源文件的数据流
如果DEST存在:
如果DEST是非目录文件:则会覆盖目标文件
如果DEST是目录文件:则现在DEST目录下创建一个与源文件同名的文件,并复制其数据流
多源复制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在:错误
如果DEST存在:
如果DEST是非目录文件:错误
如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名
常见用法:
-i:交互式复制,即覆盖之前提醒用户确认
-f:force 强制覆盖目标文件
-r:recursive 递归复制目录,即复制目录及目录中的内容
-d:复制符号符号链接文件本身,而非其指向的源文件
-a:-dR –preserve=all, archive, 用于实现归档;可以理解为做备份
–preserve=
mode:权限
ownership: 属主和属组
timestamps: 时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
rm:删除文件或目录 remove files or directories
使用格式:rm [OPTION]… FILE…
常见用法:
-i:interactive
-f: force
-r: recursive
删除目录:rm -rf /PATH/TO/DIR
注意:rm -rf / 或 rm -rf /* 这是自杀
mv:移动文件或改名
使用格式:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常见用法:
-i:交互式
-f:force
6、用户与组、权限管理命令:
useradd:创建用户 创建一个新用户或更新默认新用户信息
使用格式: useradd [options] USER
常见用法:
-u, –uidUID:指定UID
-g,–gid GROUP: 指定基本组ID,此组要事先存在
-G,–groups GROUP1,[GROUP2,…]
-c,–comment COMMENT: 指明注释信息
-d, –home HOME_DIR: 以指定路径为用户的家目录,通过复制/etc/skel此目录并重命名实现的;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;
-s, –shellSHELL:指定用户的默认shell,可用的所有shell列表为存储在/etc/shells 文件
-r,–system: 创建系统用户
-m, –create-home
-M, –no-create-home
useradd -D : 显示创建用户的默认配置
passwd: 修改用户的密码 update user's authentication tokens
使用格式:passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]
常见用法:
-l,-u:锁定和解锁用户
-d: 清除用户密码
-e DATE:过期期限,为日期
-i DAYS:非活动期限
-n DAYS:密码的最短使用期限
-x DAYS:密码的最长使用期限
-w DAYS: 警告期限
–stdin:
echo "PASSWORD" | passwd –stdin USERNAME
userdel:删除用户和相关文件
使用格式:userdel [options] USER
常见用法:
-r: 删除用户时一并删除其家目录,默认不删除
usermod:用于修改用户的属性
常见用法:
-u,–uid UID: 修改用的ID为此处的指定的新ID
-g,–gid GROUP: 修改用户所属的基本组
-G,–group GROUP1[,GROUP2,…]: 修改用户所属的附加组,原来的附加组会被覆盖;
-a,–append: 与-G 一同使用,用于为用户添加新的附加组
-c,–comment COMMENT: 修改注释信息
-d, –home HOME_DIR: 修改用户的家目录;用户原有的文件不会被转移至新位置
-m,–move_home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
-l, –login NEW_LOGIN:修改用户名
-s, –shell SHELL:修改SHELL
-L,–lock:锁定用户密码:即在用户原来的密码字符串值之前添加一个"!"
-U,–unlock:解锁用户的密码:去掉"!"
groupadd:创建组
常见用法:
-g GID: 指定GID,默认是上一个组的GID+1;
-r : 创建系统组
groupmod:修改组属性
使用格式:group [选项] GROUP
常见用法:
-g GID:修改GID
-n new_name: 修改组名
groupdel:删除组
su: 切换用户 switch user
常见用法:
登录式切换:会通过重新读取目标用户的配置文件来重新初始化
su – USERNAME
su -l USERNAME
非登录式切换:不会读取目标用户的配置文件进行初始化
su USERNAME
注意:管理员可以无密码切换至其他任何用户
-c 'COMMAND' : 仅以指定用户的身份运行此处指定的命令
who:show who is logged on
whoami: print effective userid
newgrp:临时切换指定的组为基本组
使用格式:newgrp [-] [group]
常见用法:
-:会模拟用户重新登录以实现重新初始化其工作环境
chage:更改用户密码过期信息
id:显示用户的真是和有效ID信息 print real and effective user and group IDs
使用格式:id [OPTION]… [USER]
常见用法:
-u:仅显示有效的UID
-g:仅显示用户的基本组ID
-G:显示用户所属的所有组的ID
-n:显示名称而非ID
install: 复制文件或创建空目录 copy files and set attributes
使用格式:
install [OPTION]… [-T] SOURCE DEST 单源复制
install [OPTION]… SOURCE… DIRECTORY 多源复制
install [OPTION]… -t DIRECTORY SOURCE… 多源复制
install [OPTION]… -d DIRECTORY… 创建目录
常见用法:
-m,–mode=MODE: 设定目标文件权限,默认为755
-o,–owner=OWNER:设定目标文件的属主
-g,–group=GROUP: 设定目标文件的属组
mktemp:创建临时文件或临时目录
常见用法:
-d:创建临时目录
umask:文件的权限反向掩码,遮罩码
文件: 666-umask
目录: 777-umask
这么多的命令,都是基础。用马哥的话:“这些都是用大腿想出来的”。我还在用我的大脑在记忆,离大腿,还隔着一个上身的距离。Come on,Baby!据说bash是2B青年用的,至于我,还是默默的记下来吧。
由于字数限制,今天的分享还有续集哦,快点击链接查看吧: N26-第二周作业-邢岩(2)
原创文章,作者:jeque,如若转载,请注明出处:http://www.178linux.com/67764
评论列表(1条)
加油,进入一项新领域一开始总是伴随着痛苦和不适,只要认定的方向,不断坚持,这里将是你新舒适区,加油。