1、 Linux上的文件管理命令及其常用的使用方法及其相关示例演示。 处理目录的常用命令 i. ls: 列出目录 ii. cd:切换目录 iii. pwd:显示目前的目录 iv. mkdir:创建一个新的目录 v. rmdir:删除一个空的目录 vi. cp: 复制文件或目录 vii. rm: 移除文件或目录 viii. mv: 移动文件与目录,或修改文件与目录的名称 a) cd cd是change directory的缩写,是切换工作目录的命令. 语法:cd [相对路径或绝对路径] #使用mkdir创建benny目录 [root@benny ~]# mkdir benny #使用绝对路径切换到benny目录 [root@benny ~]# cd /root/benny #使用相对路径切换到benny目录 [root@benny ~]# cd ./benny #切换到自己的家目录 [root@benny benny]# cd ~ #返回上级目录 [root@benny ~]# cd .. 常用格式: cd 进入用户主目录; cd ~ 进入用户主目录; cd - 返回进入此目录之前所在的目录; cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思); cd ../.. 返回上两级目录; cd !$ 把上个命令的参数作为cd参数使用 b) pwd pwd是print working directory的缩写,显示目前所在的工作 选项与参数: -P: 显示出确实路径而非使用连接(link)路径 实例: #单纯输出目前的工作路径 [root@benny ~]# pwd /root #显示出实际的工作目录而非本身的目录名 [root@benny ~]# cd /var/mail/ <==注意,/var/mail是一个连结档 [root@benny mail]# pwd /var/mail <==列出目前的工作目录 [root@benny mail]# pwd -P /var/spool/mail <==怎么回事?有没有加 -P 差很多~ [root@benny mail]# ls -ld /var/mail/ drwxrwxr-x. 2 root mail 19 7月 2 10:24 /var/mail/ #因为 /var/mail 是连结档,连结到 /var/spool/mail # 所以,加上 pwd -P 的选项后,会不以连结档的数据显示,而是显示正确的完整路径 c) mkdir mkdir是make directory的缩写,是创建新目录的命令. 语法: mkdir [-mp] 目录名称 选项与参数: -m :配置文件的权限,不需要看默认权限 (umask) -p :帮助你直接将所需要的目录(包含上一级目录)递归创 实例: #在benny目录下载创建a/b/c/d多级目录 [root@benny benny]# mkdir -p a/b/c/d

      创建权限为rwx--x—x的目录
      [root@benny b]# mkdir -m 711 text0001

d) rmdir 删除空的目录 语法: Rmdir [-p] 目录名称 选项与参数: -p :连同上一级『空的』目录也一起删除 实例: #删除benny目录下的空目录a/b/c/d e) cp cp即拷贝文件和目录 语法: [root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination) [root@www ~]# cp [options] source1 source2 source3 .... directory 选项与参数: -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用) -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身; -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次; -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用) -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身; -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用); -r:递归持续复制,用於目录的复制行为;(常用) -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件; -u:若 destination 比 source 旧才升级 destination !

#用 root 身份,将 root 目录下的 .bashrc 复制到 /tmp 下,并命名为 bashrc [root@benny ~]# cp ~/.bashrc /tmp/bashrc f) rm 移除文件或目录 语法: rm [-fir] 文件或目录 -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息; -i :互动模式,在删除前会询问使用者是否动作 -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
# 将刚刚在 cp 的实例中创建的 bashrc 删除掉 [root@benny ~]# rm -i /tmp/bashrc rm:是否删除普通文件 "/tmp/bashrc"?y g) mv 移动文件或目录 语法: [root@www ~]# mv [-fiu] source destination [root@www ~]# mv [options] source1 source2 source3 .... directory 选项与参数: -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖! -u :若目标文件已经存在,且 source 比较新,才会升级 (update) #复制一文件,创建一目录,将文件移动到目录中 [root@benny tmp]# cp ~/.bashrc a001 [root@benny tmp]# mkdir b001 [root@benny tmp]# mv a001 b001 [root@benny ~]# ls /tmp/b001/ a001 Linux 文件内容查看 i. cat 由第一行开始显示文件内容 ii. tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写! iii. nl 显示的时候,顺道输出行号! iv. more 一页一页的显示文件内容 v. less 与 more 类似,但是比 more 更好的是,他可以往前翻页! vi. head 只看头几行 vii. tail 只看尾巴几行 a) cat 从第一行开始显示文件内容 选项与参数: -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已; -b :列出行号,仅针对非空白行做行号显示,空白行不标行号! -E :将结尾的断行字节 $ 显示出来; -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同; -T :将 [tab] 按键以 ^I 显示出来; -v :列出一些看不出来的特殊字符 #查看/etc/issue这个文件的内容 [root@benny ~]# cat /etc/issue \S Kernel \r on an \m ----centos7的 [root@centos6 ~]# cat /etc/issue CentOS release 6.9 (Final) Kernel \r on an \m --------centos6 b) tac tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!如: [root@centos6 ~]# tac /etc/issue Kernel \r on an \m CentOS release 6.9 (Final)

2、 使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z [root@benny ~]# mkdir -p /tmp/{a1/{a,b},a2,x_y,x_z,q_y,q_z}

3、 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。 元数据表示文件的附加属性,如文件的大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。 用stat查看 [root@benny ~]# stat /etc/shadow 文件:"/etc/shadow" 大小:1015 块:8 IO 块:4096 普通文件 设备:fd03h/64771d Inode:50734397 硬链接:1 权限:(0000/----------) Uid:( 0/ root) Gid:( 0/ root) 环境:system_u:object_r:shadow_t:s0 最近访问:2019-07-02 11:01:01.351711037 +0800 最近更改:2019-07-02 11:00:28.944686583 +0800 最近改动:2019-07-02 11:00:28.946686584 +0800 创建时间:- 使用touch命令可以修改文件的时间戳信息, -a选项修改atime和ctime,-m选项修改mtime和ctime时间,-t选项是修改atime和mtime时间。 4、 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。 touch /tmp/tfile-$(date +'%Y-%m-%d-%H-%M-%S') 5、 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。 [root@centos6 ~]# mkdir /tmp/mytest1/ | cp -dR /etc/p*[^0-9] /tmp/mytest1

6、 创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack groupadd jack | useradd -u 5001 -d /tmp/tom -m -s /bin/zsh tom 7、 常用的用户以及用户管理命令有哪些,并演示命令以及用法。 One、 Useradd 添加新的用户账户 #此命令创建了一个用户li,其中-d和-m选项用来为登录名li产生一个主目录/usr/li(/usr为默认的用户主目录所在的父目录)。 [root@benny ~]# useradd -d /usr/li -m li #此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。 # useradd -s /bin/sh -g group –G adm,root gemur ** Two、 Userdel 删除账号 #删除li账户,-r是把主目录一起删除 userdel -r li Three、 usermod 修改账号 #此命令将用户li的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer usermod -s /bin/ksh -d /home/z –g developer li Four、 用户口令管理 • -l 锁定口令,即禁用账号。 • -u 口令解锁。 • -d 使账号无口令。 • -f 强迫用户下次登录时修改口令。 例如,假设当前用户是li,则下面的命令修改该用户自己的口令: passwd Old password:**** New password:******* Re-enter new password:*******

如果是超级用户,可以用下列形式指定任何用户的口令: passwd li New password:******* Re-enter new password:*******

#为用户指定空口令时,执行下列形式的命令: passwd -d li 此命令将用户li的口令删除,这样用户li下一次登录时,系统就不再询问口令。

#passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如: passwd -l li Five、 cat /etc/passwd 查看所有账号及基本属性 Six、 groupadd groupdel groupmod newgroup Seven、 su可切换账号