linux常用命令
1.ls命令
ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
实例:
-
按易读方式按时间反序排序,并显示文件详细信息
ls -lhrt
-
按大小反序显示文件详细信息
ls -lrS
-
列出当前目录中所有以"t"开头的目录的详细内容
ls -l t*
-
列出文件绝对路径(不包含隐藏文件)
ls | sed "s:^:`pwd`/:"
-
列出文件绝对路径(包含隐藏文件)
find $pwd -maxdepth 1 | xargs ls -ld
2.cd命令
-
进入根目录
cd /
-
进入 “home” 目录
cd ~
-
进入上一次工作路径
cd -
-
把上个命令的参数作为cd参数使用。
cd !$
3.pwd命令
pwd 命令用于查看当前工作目录路径。
-
查看当前路径
pwd
-
查看软链接的实际路径
pwd -P
4.mkdir命令(mkdir 命令用于创建文件夹)
- -m: 对新建目录设置存取权限,也可以用 chmod 命令设置;
- -p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。
实例:
-
当前工作目录下创建名为 t的文件夹
mkdir t
-
在 tmp 目录下创建路径为 test/t1/t 的目录,若不存在,则创建:
mkdir -p /tmp/test/t1/t
-
删除当前工作目录下创建名为 t的文件夹
rmdir t
5.rm命令
-
删除任何 .log 文件,删除前逐一询问确认:
rm -i *.log
-
删除 test 子目录及子目录中所有档案删除,并且不用一一确认:
rm -rf test
-
删除以 -f 开头的文件
rm -- -f*
6.rmdir 命令
从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限。
注意:不能删除非空目录
-
当 parent 子目录被删除后使它也成为空目录的话,则顺便一并删除:
rmdir -p parent/child/child11
7.mv命令
移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。
-
将文件 test.log 重命名为 test1.txt
mv test.log test1.txt
-
将文件 log1.txt,log2.txt,log3.txt 移动到根的 test3 目录中
mv log1.txt log2.txt log3.txt /test3
-
将文件 file1 改名为 file2,如果 file2 已经存在,则询问是否覆盖
mv -i log1.txt log2.txt
-
移动当前文件夹下的所有文件到上一级目录
mv * ../
8.cp命令
将源文件复制至目标文件,或将多个源文件复制至目标目录。
注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!
-i 提示
-r 复制目录及目录内所有项目
-a 复制的文件与原文件时间一样
-
复制 a.txt 到 test 目录下,保持原文件时间,如果原文件存在提示是否覆盖。
cp -ai a.txt test
-
为 a.txt 建议一个链接(快捷方式)
cp -s a.txt link_a.txt
9.cat命令
-
一次显示整个文件:
cat filename
-
从键盘创建一个文件:
cat > filename
只能创建新文件,不能编辑已有文件。
-
将几个文件合并为一个文件:
cat file1 file2 > file
- -b 对非空输出行号
- -n 输出所有行号
实例:
-
把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里
cat -n log2012.log log2013.log
-
把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里
cat -b log2012.log log2013.log log.log
-
使用 here doc 生成新文件
cat >log.txt <<EOF >Hello >World >PWD=$(pwd) >EOF ls -l log.txt cat log.txt Hello World PWD=/opt/soft/test
-
反向列示
tac log.txt PWD=/opt/soft/test World Hello
10.touch命令
-
参数说明:
-
a 改变档案的读取时间记录。
-
m 改变档案的修改时间记录。
-
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
-
f 不使用,是为了与其他 unix 系统的相容性而保留。
-
r 使用参考档的时间记录,与 --file 的效果一样。
-
d 设定时间与日期,可以使用各种不同的格式。
-
t 设定档案的时间记录,格式与 date 指令相同。
-
–no-create 不会建立新档案。
-
–help 列出指令格式。
-
–version 列出版本讯息。
-
使用指令"touch"修改文件"testfile"的时间属性为当前系统时间,输入如下命令:
touch testfile #修改文件的时间属性
-
首先,使用ls命令查看testfile文件的属性,如下所示:
ls -l testfile #查看文件的时间属性 #原来文件的修改时间为16:09 -rw-r--r-- 1 hdd hdd 55 2011-08-22 16:09 testfile
执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性,如下所示:
touch testfile #修改文件时间属性为当前系统时间 ls -l testfile #查看文件的时间属性 #修改后文件的时间属性为当前系统时间 -rw-r--r-- 1 hdd hdd 55 2011-08-22 19:53 testfile
使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令:
touch file #创建一个名为“file”的新的空白文件