Linux命令格式
command [-option] [parametor] [parametor]
目录和文件
cd 切换目录
/
根目录.
当前目录..
上级目录~
当前用户的家目录-
上一次的所在的目录
语法:
cd [.|..|~|/|目录名称]
示例:
cd 空格 # 进入个人的主目录
cd ~ # 进入个人的主目录
cd .. # 返回上一级目录
cd ../.. # 返回上两级目录
cd - # 返回上次所在的目录
cd /etc
cd ~/Desktop
pwd 打印工作目录
执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称
创建文件
vim filename 创建文件并在vi/vim中打开
touch filename 创建文件
echo nihao,xianzaijidian > filename 创建并写入内容nihao…(注意空格)
ls 查看目录中的文件
语法:
ls [-a -l -h][目录名称,不写就默认为当前目录]
常用参数:
- -a :列出全部的文件,包括隐藏的
- -l :显示更多信息,包含文件的属性与权限数据等
- -d :仅列出目录本身,而不是列出目录的文件数据
- -h :将文件容量以较易读的方式(GB,kB等)列出来
- -R :递归列出目录,等于该目录下的所有文件都会显示出来
- -F : 查看目录中的文件
示例:
ls -lh
ls -a
ls -la
ls -al
ls ~/Desktop
ls *[0-9]* # 显示包含数字的文件名和目录名
tree 以树结构显示文件和文件夹
语法:
tree [-d | -L num][目录]
常用参数:
- -d 只显示目录
- -L num 向下显示目录层级num
示例:
tree -d #树结构显示当前以及所有下级目录
tree -L 3 ~/Desktop #树结构显示~/Desktop及向下3级的目录和文件
grep 文本搜索
在文本内容中根据关键字或模式进行搜索
语法grep [-nvi] <search_word> file_name
常用选项
- v
显示不包含search_word
的行- n
显示行号- i
忽略search_word
大小写
示例
# 通常查看配置文件时候使用
grep -v ^# xxx.conf # 不显示以 # 开头的注释行
cat 查看文件内容、创建文件、文件合并、追加文件内容
cat 查看文件会一次显示所有内容,适合查看内容较少的文本文件
语法
cat [-AbeEnstTuv] [--help] [--version] fileName
常用参数
- -n 或 --number:由 1 开始对所有输出的行数编号。
- -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
- -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
- -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
- -E 或 --show-ends : 在每行结束处显示 $。
- -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
- -A, --show-all:等价于 -vET。
- -e:等价于"-vE"选项;
- -t:等价于"-vT"选项;
示例:
# 把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里
cat -n textfile1 > textfile2
# 把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里
cat -b textfile1 textfile2 >> textfile3
# 清空 /etc/test.txt 文档内容
cat /dev/null > /etc/test.txt
###########################################
# cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入
cat /dev/fd0 > OUTFILE # OUTFILE 指输出的镜像文件名
# 相反的,如果想把 image file 写到软盘,输入
cat IMG_FILE > /dev/fd0 # IMG_FILE 指镜像文件
more 分页显示
less
head
tail 用于查看文件的内容
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
语法:
tail [参数] [文件]
常用参数:
- -f 循环读取
- -q 不显示处理信息
- -v 显示详细的处理信息
- -c<数目> 显示的字节数
- -n<行数> 显示文件的尾部 n 行内容
- –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
- -q, --quiet, --silent 从不输出给出文件名的首部
- -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
示例:
# 要显示 notes.log 文件的最后 10 行,请输入以下命令
tail notes.log
# 要跟踪名为 notes.log 的文件的增长情况,请输入以下命令
tail -f notes.log
# 此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。
#显示文件 notes.log 的内容,从第 20 行至文件末尾:
tail +20 notes.log
# 显示文件 notes.log 的最后 10 个字符:
tail -c 10 notes.log
mkdir 创建目录
创建一个或多个、一级或多级目录
语法
mkdir [-p] 目录名称 [目录名称 ...]
常用参数:
- -p 如果一次创建多层目录加上参数
示例
mkdir dir1 # 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 # 同时创建两个目录
mkdir -p /tmp/dir1/dir2 # 创建一个目录树
touch 文件名
如果不存在就创建文件,否则更新文件的最后修改时间属性
语法:
touch 文件名1 [文件名2 ...] # 在当前文件夹下创建新文件
示例:
touch abc.txt haha
touch ~/Desktop/test
echo 回显文字
>
输出 ,>>
追加
示例
输出 “hello 我的!” 到文件 hao123.txt,文件不存在则先创建,文件存在则重写文件内容echo "hello 我的!" > hao123.txt
cp命令主要用于复制文件或目录
语法:
cp [options] source dest
cp [options] source... directory
常用参数
- -a :将文件的特性一起复制
- -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:若目标文件已经存在时,在覆盖时会先询问操作的进行
- -p:连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
- -r :递归持续复制,用于目录的复制行为
- -u :目标文件与源文件有差异时才会复制
- -l:不复制文件,只是生成链接文件。
示例:
# 使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下
cp –r test/ newtest
cp file1 file2 # 复制一个文件
cp dir/* . # 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . # 复制一个目录到当前工作目录
cp -a dir1 dir2 # 复制一个目录
cp -a file1 file2 # 连同文件的所有特性把文件file1复制成文件file2
cp file1 file2 file3 dir # 把文件file1、file2、file3复制到目录dir中
scp ~/tu.tar.gz root@192.168.100.142:~/tu.tar.gz # 局域网复制
mv 重命名/移动
命令用来为文件或目录改名、或将文件或目录移入其它位置。
语法:
mv [options] source dest
mv [options] source... directory
常用参数:
- -f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件已经存在,就会询问是否覆盖
- -u :若目标文件已经存在,且比目标文件新,才会更新
mv参数设置与运行结果
命令格式 | 运行结果 |
---|---|
mv 文件名 文件名 | 将源文件名改为目标文件名 |
mv 文件名 目录名 | 将文件移动到目标目录 |
mv 目录名 目录名 | 目标目录已存在,将源目录 移动到目标目录;目标 目录不存在则改名 |
mv 目录名 文件名 | 出错 |
示例
# 将文件 aaa 更名为 bbb
mv aaa bbb
# 将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs
mv info/ logs
# 再如将/usr/student下的所有文件和目录移到当前目录下
$ mv /usr/student/* .
rm 删除文件或目录
语法:
rm [options] name...
常用参数:
- -i 互动模式,在删除前逐一确认(y代表yes, n代表no)。
- -r 递归删除文件夹内的文件和文件夹。
- -f 就是force的意思,强制删除, 不给任何提示。忽略不存在的文件,不会出现警告消息
示例:
rm -rf ~/Desktop # 删除当前用户家目录/桌面 所有文件
rm -f file1 # 删除一个叫做 'file1' 的文件'
rmdir dir1 # 删除一个叫做 'dir1' 空目录'
rm -rf dir1 # 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 # 同时删除两个目录及它们的内容
来源:https://blog.csdn.net/lzxomg/article/details/102773781