1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cp,mv,rm,cd,pwd,ls,mkdir,rmdir,tree
(1)复制命令:cp
格式: cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE.. 1、cp SRC DEST SRC是文件 如果目标不存在,新建DEST,并将SRC中内容填充至DEST中 如果目标存在: 如果DEST是文件,将SRC中内容覆盖至DEST中; 此时建议为cp命令使用-i选项 如果DEST是目录,在DEST下新建与源文件同名的文件,并将SRC中内容填充至新文件夹中 2、cp SRC... DEST SRC...:多个文件 DEST必须存在,且为目录,其它情形均为错 3、cp SRC DEST SRC是目录,则使用选项: -r 如果DEST不存在,报错 如果DEST存在: 如果DEST是文件:报错 如果DEST是目录:将SRC复制至DEST目录
常用选项: -i:交互式 -r,R:递归复制目录及内部的所有内容 -a:归档 -d:--no-deference --preserv=links --preserv-[ATTR_LIST] mode:权限 ownership:属主属组 timestamp: links xattr context all -p:--preserv=mode,ownership,timestamp -v:--verbose -f:--force
(2)移动文件 mv:move
格式: mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE...
常用选项: -i:交互式 -f:强制
(3)删除 rm:remove
格式: rm [OPTION]... FILE... 常用选项: -i:交互式 -f:强制 -r:递归
(4)cd
功能:Change the shell working directory. #切换工作目录 常用实例: cd ~#回到当前用户的主目录 cd -#在上一个目录和当前目录之间来回切换 cd ~USERNAME#切换至指定用户的家目录
(5)pwd
功能:打印当前工作目录的路径 实例:pwd#显示当前工作目录的路径
(6)ls
功能:list directory contents#列目录内容 格式:ls [OPTION]... [FILE]... 选项: -a, --all do not ignore entries starting with .#显示所有文件,包括隐藏文件、.和.. -A, --almost-all do not list implied . and ..#显示除“.”和“..”之外的所有文件 -d, --directory list directory entries instead of contents, and do not dereference symbolic links #当遇到目录时列出目录本身而不是目录内的文件 -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) #配置-l,以易于阅读的格式输出文件大小(例如1K 234M 2G) --si likewise, but use powers of 1000 not 1024 -i, --inode print the index number of each file#显示每个文件的inode号 -l use a long listing format#以长格式显示文件信息 -o like -l, but do not list group information -p, --indicator-style=slash#对目录加上表示符号“/”。 -r, --reverse reverse order while sorting#逆序排序 -R, --recursive list subdirectories recursively#递归显示子目录 -s, --size print the allocated size of each file, in blocks #以块数形式显示每个文件分配尺寸 -S sort by file size#以文件大小排序 -t sort by modification time#根据修改时间排序 -T, --tabsize=COLS assume tab stops at each COLS instead of 8 #设置制表符的宽度
(7)mkdir
功能:创建目录 格式:mkdir [OPTION]... DIRECTORY... -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask #设置权限模式(类似chmod),而不是rwxrwxrwx - umask -p, --parents no error if existing, make parent directories as needed #已经存在的目录不报错,且可自动创建所需的各目录 -v, --verbose print a message for each created directory #显示创建每个目录的详细信息 实例:mkdir -pv /a/b/c#在/a/b下创建目录c,自动创建不存在的/a /a/b目录,并显示创建每个目录的详细信息
(8)rmdir
功能:删除空目录 格式:rmdir [OPTION]... DIRECTORY... 选项: -p, --parents remove DIRECTORY and its ancestors; e.g., ‘rmdir -p a/b/c‘ is similar to ‘rmdir a/b/c a/b a‘ -v, --verbose output a diagnostic for every directory processed
(9)tree
功能:以树形格式显示文件或目录 选项: -a显示所有文件或目录 -d List directories only.#仅显示目录 -l Follows symbolic links if they point to directories, as if they were directories. Symbolic links that will result in recursion are avoided when detected. #如遇到符号链接的目录,直接列出该连接所指向的原始目录 -f Prints the full path prefix for each file.#显示每个文件或目录的完整路径 -i Makes tree not print the indentation lines, useful when used in conjunction with the -f option. #不以树状形式列出文件或目录 -x Stay on the current file-system only. Ala find -xdev. #将范围限制在当前文件系统中,若指定目录下的某些子目录存放于另一个文件系统上,则将该子目录排除在范围外 -L level Max display depth of the directory tree. #指定显示的最大子目录层数
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
命令执行状态返回值: bash使用特殊变量$?保存最近一条命令的执行状态结果; 0:命令执行成功 1-255:命令执行失败
命令行展开: ~:当前用户的家目录 ~USERNAME:展开指定用户的主目录 {}:可承载一个以逗号分隔的列表,并将其展开为多个路径 /tmp{a,b}=/tmp/a,/tmp/b /tmp/{c,d}/e=/tmp/c/e,/tmp/d/e
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
mkdir /tmp/{a,b}_{c,d}
(2)、创建/tmp/mylinux目录下的:
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
[[email protected] ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}} mkdir: 已创建目录 "/tmp/mylinux" mkdir: 已创建目录 "/tmp/mylinux/bin" mkdir: 已创建目录 "/tmp/mylinux/boot" mkdir: 已创建目录 "/tmp/mylinux/boot/grub" mkdir: 已创建目录 "/tmp/mylinux/dev" mkdir: 已创建目录 "/tmp/mylinux/etc" mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d" mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d/init.d" mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig" mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig/network-scripts" mkdir: 已创建目录 "/tmp/mylinux/lib" mkdir: 已创建目录 "/tmp/mylinux/lib/modules" mkdir: 已创建目录 "/tmp/mylinux/lib64" mkdir: 已创建目录 "/tmp/mylinux/proc" mkdir: 已创建目录 "/tmp/mylinux/sbin" mkdir: 已创建目录 "/tmp/mylinux/sys" mkdir: 已创建目录 "/tmp/mylinux/tmp" mkdir: 已创建目录 "/tmp/mylinux/usr" mkdir: 已创建目录 "/tmp/mylinux/usr/local" mkdir: 已创建目录 "/tmp/mylinux/usr/local/bin" mkdir: 已创建目录 "/tmp/mylinux/usr/local/sbin" mkdir: 已创建目录 "/tmp/mylinux/var" mkdir: 已创建目录 "/tmp/mylinux/var/lock" mkdir: 已创建目录 "/tmp/mylinux/var/log" mkdir: 已创建目录 "/tmp/mylinux/var/run"
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。