Linux命令

ls命令

就是list的缩写,通过ls命令不仅可以查看linux文件夹包含的文件,而且可以查看文件的权限,查看目录等信息

1
2
3
4
5
6
7
ls -a     # 列出所有目录所有文件,包含.开始的隐藏文件
ls -A # 列出除.及..的其他文件
ls -r # 反序排列
ls -t # 以文件修改时间排序
ls -S # 以文件大小排序
ls -h # 以易读大小排序
ls -l # 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

ll命令

相当于ls -l命令的缩写,具体参数和ls命令相同

1
ll

cd命令

cd命令语法:

1
cd [目录名]

进入根目录

1
cd /

进入用户目录

1
cd ~

pwd命令

查看当前工作目录路径

1
2
pwd         # 查看当前路径
pwd -P # 查看软连接的实际路径

mkdir命令

用于创建文件夹
可用选项:

  • -m:对新建目录设置存取权限,也可以使用chmod命令设置
  • -p:可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动创建那些不存在的目录,即一次可以创建多层目录
    1
    2
    mkdir t                     # 在当前工作目录下创建文件夹名称为t的目录
    mkdir -p /tmp/test/t1/t # 创建多层目录

rm命令

删除一个目录中的一个或者多个文件或者目录,如果没有使用-r选项,则rm不会删除目录。如果使用rm来删除文件,通常仍可以将该文件恢复原状。

1
rm [选项] 文件...
1
2
3
rm -i *.log         # 删除所有.log文件,删除前逐一询问确认
rm -rf test # 删除test目录以及其子目录中的所有文件并不用一一确认
rm -- -f* # 删除所有以f开头的文件

rmdir命令

从一个目录中删除一个或者多个子目录,删除某个目录时必须拥有其父目录的写权限(不能删除非空目录)

1
rmdir -p parent/chid/chid1      # 当parent子目录被删除后,它也成为空目录的话,也会一并删除

mv命令

移动文件或者修改文件名,根据第二个参数类型(如目录,则移动文件,如为文件名,则重命名该文件)
当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或者目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。

1
2
3
4
mv test.log test1.txt                   # 将test.log重命名为test1.txt
mv log1.txt log2.txt log3.txt /test # 将log1.txt log2.txt log3.txt三个文件移动到根目录下的test目录中
mv -i log1.txt log2.txt # 将文件1改名为文件2,如果文件2已经存在,则询问是否覆盖
mv * ../ # 移动当前文件夹下的所有文件到上一级目录

cp命令

将源文件复制至目标文件,或将多个源文件复制到目标目录
注意:命令行复制,如果目标文件已经存在,会提示是否覆盖,而在shell脚本中,如果不加-i参数,则不会提示,而是直接覆盖

  • -i:提示
  • -r:复制目录及目录中的所有文件
  • -a:复制的文件与源文件时间保持一致
    1
    2
    cp -ai a.txt test       # 复制a.txt到test目录下,保持源文件时间,如果源文件存在,提示是否覆盖
    cp -s a.txt link_a.txt # 为a.txt建立一个连接(快捷方式)

cat命令

cat命令三大功能:
1.一次显示整个文件

1
cat filename

2.从键盘创建一个文件(只能创建文件,不能编辑已存在的文件)

1
cat > filename

3.将几个文件合并成一个文件

1
cat file1 file2 > file
  • -b:对非空输出行号
  • -n:输出所有行号
    1
    2
    cat -n log1.log log2.log        # 将log1.log的文件内容加上行号后输入到log2.log文件里面
    cat -b log1.lo log2.lo log.log # 将log1.log和log2.log的文件内容加上行号(空白行不加)之后将内容附加到log.log里面

more命令

功能类似于cat,more会一页一页的显示方便使用者逐页阅读,而最基本的指令就算按空白键(space)就往下一页显示,按b键就会往回(back)一页显示
命令参数:

1
2
3
4
5
6
7
8
9
+n          # 从第n行开始显示
-n # 定义屏幕大小未n行
+/pattern # 再每个档案显示前搜索该字符串(pattern),然后从该字符串前两行之后开始显示
-c # 从顶部清屏,然后显示
-d # 提示“Press space to continue 'q' to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l # 忽略Ctrl+l(换页)字符
-p # 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s # 把连续的多个空行显示为一行
-u # 把文件内容中的下划线去掉

常用的操作命令:

1
2
3
4
5
6
7
8
9
Enter       # 向下n行,需要定义,默认为1行
Ctrl+f # 向下滚动一屏
空格键 # 向下滚动一屏
Ctrl+B # 返回上一屏
= # 输出当前行的行号
:f # 输出文件名和当前行号
V # 调用vi编辑器
! # 调用shell,并执行命令
q # 退出more
1
2
more +3 text.txt        # 显示文件中从第三行开始的内容
ls -l | more -5 # 再所列出的文件目录信息中,借助管道符每次显示5行

less命令

less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看直接之前不会加载整个文件
常用命令参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-i          # 忽略搜索时的大小写
-N # 显示每行的行号
-o # <文件名> 将less输出的内容在指定文件中保存起来
-s # 显示连续空行为一行
/字符串 # 向下搜索字符串的功能
?字符串 # 向上搜索字符串的功能
n # 重复前一个搜索
N # 反向重复前一个搜索
-x # <数字> 将“tab”键显示为规定的数字空格
b # 向后翻一页
d # 向后翻半页
h # 显示帮助界面
Q # 退出less命令
u # 向前滚动半页
y # 向前滚动一行
空格键 # 滚动一行
回车键 # 滚动一行
[pagediwn] # 向下翻动一页
[pageup] # 向上翻动一页
1
2
ps -aux | less -N       # ps查看进程信息,并通过less分页显示
less 1.log z.log # 查看多个文件(可以通过n查看下一个,p查看前一个)