Linux 常用命令练习(一)
ls命令---打印当前目录的清单,当然也可以指定目录,也可以查看文件权限,目录信息等等
-l 除了文件名,还将文件的权限,所有者,文件大小等信息详细列出来
-a 列出所有文件,包括隐藏文件
-r反次序排列
-R 同时列出所有子目录层
-t以文件的修改时间排序
-F 把文件按照类型归类,并且在末尾加上/ *等符号标识
常用例子:
- 列出/home/bellazhu文件夹下的所有文件和目录的详细资料
- 列出当前目录中所有以t开头的目录的详细内容
- 只列出文件下的子目录
- 列出目前工作目录下所有名称是s开头的文件,越新的排在后面
- 列出目前工作目录下所有文件及目录,目录与名称后加‘/’,可执行文件于名称后加“*”
- 计算当前目录下的文件数和目录数
- 在ls中列出文件的绝对路径
- 列出当前目录下的所有文件(包括隐藏文件)的绝对路径,对目录不做递归
- 递归列出当前目录下的所有文件(包括隐藏文件)的绝对路径
- 指定文件时间的输出格式
参考答案:
1. ls -l -R /home/bellazhu
2. ls -l t*
3. ls –F /var/log |grep /$
4. ls –ltr s*
5. ls –AF
6. ls –l . |grep “^-”|wc –l 文件个数 ls –l . |grep “^d” |wc –l 目录数
7. ls |sed “s:^:`pwd`/:”
8. find $PWD –maxdepth 1|xargs ls –ld
9. find $PWD |xargs ls –ld
10.ls –tl –time-style=long-iso
cd命令---切换当前目录
常用例子
- 根目录
- 退到上一级目录
- 切换至当前用户主目录
- 切换到进入此目录之前的所在目录
- 把上个目录的参数作为cd的参数使用
参考答案
- cd /
- cd ..
- cd 或者cd ~
- cd -
- cd !$
pwd命令—用来查看当前目录
1.用pwd命令查看默认工作目录的完整路径
2.使用pwd命令查看指定文件夹
3.目录连接链接时,pwd –P显示出实际路径,而非使用链接路径,pwd显示的是链接路径
4./bin/pwd -L 输出连接路径 –P显示物理路径
5.当前目录被删除了,pwd还是显示那个路径
mkdir命令—用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能再当前目录已有
-p 一次可以创建多个目录
-v 每次创建新目录都显示信息
-m 模式,设置权限
常用实例:
- 创建一个空目录
- 递归创建多个目录
- 创建权限为777的目录
- 创建新目录都显示信息
- 一个命令创建项目的目录结构
参考答案:
- mkdir test1
- mkdir –p test2\test22
- mkdir –m 777 test3
- mkdir –v test4
- mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
rm命令---删除文件和目录的命令,也能删除一个目录中的一个或多个文件或目录,对于链接文件,只删除链接,原有文件保持不变
-f 忽略不存在的文件,从不给提示(force)
-i进行交互式删除
-r 指示rm将参数中列出的全部目录和子目录递归删除
-v 详细显示进行的步骤
常用实例:
- 删除file,系统会先询问是否删除
- 强行删除file,系统不再提示
- 删除任何.log文件;删除前逐一询问确认
- 将test1子目录及子目录中所有文件删除
- rm –rf –test2 命令会将test2子目录及子目录中所有档案删除,并且不用一一确认
- 删除以 –f开头的文件
- 自定义回收站功能
参考答案:
- rm –i file
- rm –f file
- rm –i *.log
- rm -r test1
- 。。
- rm -- -f
- myrm()={ D=/tmp/$(date +%Y%m%d%H%M%S; mkdir –p $D; mv ‘$@’ $D && echo “moved to “$D” OK ”}
alias rm=’myrm’
touch 1.log 2.log 3.log
rm [123].log
rmdir命令是删除空目录,一个目录被删除之前必须是空的
mv命令—可以用来移动文件或者将文件改名(move 或rename file),经常用来备份文件或者目录
-b 若需要覆盖文件,则覆盖前先行备份
-f 强制的意思,如果目标文件已经存在,不会询问而是直接覆盖
-i若目标文件已经存在时,就会询问是否覆盖
-u 若目标文件已经存在时,并且source比较新,才会更新update
-t 指定目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后
常用实例:
- 文件改名
- 移动文件
- 将文件log1.txt log2.txt log3.txt 移动到目录test3下
- 将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
- 将文件file1改名为file2,即使file2存在,也是直接覆盖掉
- 目录的移动
- 移动当前文件夹下的所有文件到上一级目录
- 吧当前目录的一个子目录里的文件移动到另一个子目录里
- 文件被覆盖前做简单备份,前面加参数-b
参考答案:
- mv test.log test1.txt
- mv test1.txt test3
- mv log1.txt log2.txt log3.txt test3
mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
- mv -i log1.txt log2.txt
- mv -f log3.txt log2.txt
- mv dir1 dir2
- mv * ../
- mv test3/*.txt test5
- mv log1.txt -b log2.txt
cp命令—复制文件或者目录
常用实例:
- 复制单个文件到目标目录,文件在目标文件中不存在
- 目标文件存在时,会询问是否覆盖
- 复制整个目录
- 复制的log.log 简历一个连接档log_link.log
参考答案:
- cp log.log test5
- cp –i log.log test5
- cp -a test3 test5
- cp -s log.log log_link.log (-s创建的是一种快捷方式)
touch命令----修改文件时间戳,或者创建一个不存的文件
常用实例:
- 创建不存在的文件
- 更新log.log的时间和log2012.log时间戳相同
- 设定文件时间戳
参考答案:
- touch log2014.log
- touch –r log.log log2014.log
- touch –t 201212121111 log2012.log
cat命令 ---连接文件或标准输入并打印,这个命令常常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用
cat三个功能
- 一次显示整个文件 cat filename
- 从键盘创建一个文件,cat > filename只能创建新文件不能编辑已有文件
- 讲几个文件合并为一个文件 cat file1 file2 >file
常用实例:
- 把log2012.log的文件内容加上行号输入到log2013.log这个文件里
- 把log2012.log和log2013.log的文件内容加上行号(空白不行)之后将内容附加到log.log中
- 使用here doc来生成文件
- 反向显示tac---从最后一行到第一行反向显示到屏幕上
参考答案:
- cat -n log2012.log > log2013.log
- cat -b log2012.log log2013.log > log.log
- cat >log.txt <<EOF
浙公网安备 33010602011771号