命令格式及帮助信息
终端命令格式
command [-options] [parameter]
- command:命令名,相应功能的英文单词或单词的缩写
- -options:选项,可用来对命令进行控制,也可以省略
- parameter:参数,可以是零个、一个或者多个
查看命令帮助信息 --help man
command --help
man command
help会将帮助信息直接打印在终端上。
man会打开帮助信息的文档,是manual的简写。
man操作快捷键
- 空格键/f:前滚一屏
- b:回滚一屏
- 回车键:前进一行
- q:退出
常用命令
清除屏幕 clear
clear
查看文件信息 ls
ls:列出目录的内容,是 list 的简写
ls
3.txt a aa.tar.gz b test.sh
ls -a:显示指定目录下所有子目录与文件,包括隐藏文件。"."代表隐藏文件。
ls -a
. .. 3.txt a aa.tar.gz b .bash_history .bash_logout .bash_profile test.sh
ls -l:以列表方式显示文件的详细信息,可直接简写为"ll"。
ls -l
-rw-rw-r-- 1 xxx xxx 174 Nov 17 11:03 3.txt
drwxrwxr-x 3 xxx xxx 4096 Nov 17 09:53 a
-rw-rw-r-- 1 xxx xxx 317 Nov 18 10:41 aa.tar.gz
drwxrwxr-x 2 xxx xxx 4096 Nov 18 10:44 b
-rwxrwxr-x 1 xxx xxx 28 Nov 15 11:21 test.sh
切换工作目录 cd
cd:更改当前的工作目录,是change directory的简写。
cd/cd ~:切换到当前用户的家目录,/home/用户目录。
cd ~
[[email protected] ~]$
cd /:切换到根目录。
cd /
[[email protected] /]$
cd ..:切换到上级目录。
[[email protected] ~]$ cd ../..
[[email protected] /]$
cd -:切换到上次使用目录,可以在最近两次工作目录之间来回切换。
[[email protected] a]$ cd -
[[email protected] b]$ cd -
[[email protected] a]$
#代表root权限用户,$代表普通用户。
相对路径和绝对路径
相对路径:路径最前面不加 / 或者 ~,表示相对当前目录所在的目录位置。
绝对路径:路径最前面加 / 或者 ~,表示从根目录或者家目录开始的目录位置。
显示当前目录路径 pwd
pwd:查看当前在哪个目录下,是print work directory的简写
pwd
/home/xxx
创建新目录 mkdir
mkdir:新建目录,是make directory的简写。
mkdir 文件名
mkdir -p:递归创建目录,可直接创建多层嵌套目录。
mkdir -p 文件名/文件名/文件名
如果不加 -p 参数,直接创建多级目录,会报错
mkdir 文件名/文件名/文件名
mkdir:cannot create directory ‘文件名/文件名/文件名’: No such file or directory
创建空文件 touch
touch:如果文件不存在创建一个无内容的空文件。如果文件存在,修改文件的末次修改日期
touch 文件名
删除文件或目录 rm
rm:删除文件,是remove的简写。
rm 文件名
rm -r:删除目录或文件
rm -r 目录名/文件名
rm -r 可以删文件也可以删目录,即使目录非空。如果删目录必须加 -r 参数,否则会报错。
rm 目录名
rm:cannot remove ‘目录名’: Is a directory
rm -f:无提示强制删除,即使没有这个文件,也不会报错。
rm -f 任意名称
rm -f 不可以删目录,如果rm -f 的参数是已存在的目录名,则会报错。
rm -f 实际存在的目录名
rm:cannot remove ‘实际存在的目录名’: Is a directory
注意:rm -rf 的组合强制删除当前目录下所有文件,并且不能够恢复。谨慎使用。
rm -i:删除时询问,是否确认删除文件。
rm -i 文件名
rm: remove regular file ‘文件名’?
输入y则删除,输入n则没有删除。即yes和no。
删除目录 rmdir
rmdir:删除目录,是remove directory的简写。
rmdir 目录名
rmdir 如果删除的目录非空时,会报错。rm -r 不会报错,可以成功删除。
rmdir 非空目录名
rmdir:failed to remove ‘非空目录名’: Directory not empty
拷贝文件或目录 cp
cp:拷贝文件,是copy的简写。
cp 路径/文件名 目标位置路径
cp -a:拷贝目录。
cp -a 路径/目录名 目标位置路径
cp 无法直接拷贝目录,不加 -a 时会报错
cp 路径/目录名 目标位置路径
cp: omitting directory ‘目录名’
移动/重命名文件或目录 mv
mv:移动/重命名文件,是move的简写。
mv 路径/旧文件名 相同路径/新文件名
重命名
mv 路径/文件名 其他路径/文件名
移动
mv 路径/旧文件名 其他路径/新文件名
移动后重命名
Linux同一目录内文件和目录不能同名。Linux下一切皆文件,目录也是一个文件。
因此mv一个目录时,如果目标位置有同名目录,则移动到此目录下作为子目录,mv做移动使用。如果目标位置没有同名目录,则重命名为这个目录名称,mv做重命名使用。
mv 路径/文件名 任意路径/已存在目录名
移动到已有目录名下,作为子目录
mv 路径/文件名 任意路径/不存在目录名
重命名为本来不存在的目录名称
建立链接文件 ln
ln:建立硬链接,删除源文件后,链接文件可以继续使用,两个文件占用相同硬盘空间。是link的简写。
ln 源文件路径/源文件名称 放置链接路径
-rw-rw-r-- 1.txt xxx xxx 0 Nov 22 21:54 1.txt
ln 硬链接只能链接普通文件,不能链接目录。否则会报错。
ln 源目录路径/源目录名称 放置链接路径
ln: ‘源目录名称’: hard link not allowed for directory
ln -s:建立软件链接,删除源文件后,链接文件不可以继续使用,两个文件只占用一个硬盘空间。 类似windows下快捷方式。
ln -s 源文件路径/源文件名称 放置链接路径
lrwxrwxrwx 2.txt xxx xxx 3 Nov 22 21:56 2.txt -> a/2.txt
查找文件 find
find:查找目标文件,通常和-name一起使用。
find 路径(当前目录可省略) -name 目标文件名称
find -name:使用正则匹配目标文件,返回所有符合规则的文件名称。
find a -name '*.txt'
搜索a目录下,文件名以.txt为扩展名的文件
find -name '1*'
搜索当前目录下,文件名以1开头的文件
find -name '*1*'
搜索当前目录下,文件名包含1的文件
查看文件内容 cat、less、more、head、tail
cat:一次显示文件的所有内容,适合查看内容较少的文本文件
cat 文件名
less、more:可以用于分屏显示文件内容,每次只显示一页内容。适合查看内容较多的文本文件。
less 文件名
more 文件名
more与less的区别
- less不必读整个文件,加载速度会比more更快。
- less可以按键盘上下方向键切换显示内容,more不能通过上下方向键控制显示。
- less翻到文件最后不会自动退出,more翻页到最后会自动退出。
- less退出后终端不会留下显示的文件内容,more退出后会在终端上留下显示的文件内容.。
less、more操作快捷键
- 空格键/f:前滚一屏
- b:回滚一屏
- 回车键:前进一行
- q:退出
head、tail:只看前面或者后面的内容。默认显示文件的前/后十行。
head 文件名
tail 文件名
head -n、tail -n:设置显示行数。
head -n 行数 文件名
tail -n 行数 文件名
打包/压缩 tar、gzip
打包/解包
tar:用于备份文件,可以把各个文件打包到一个大文件中,也可以把一个打包的大文件恢复成各个文件。
tar -cvf 打包文件名.tar 路径/被打包的文件
打包
tar -xvf 打包文件名.tar
解包
- -c:代表的是打包
- -x:代表的是解包
- -v:代表的是过程
- -f:代表的是指定文件名
-f必须放在选项最后位置,其他选项位置随意。
压缩/解压缩
gzip:用于压缩文件。tar只负责打包文件,但不压缩。tar与gzip命令结合可以使用实现文件打包和压缩,扩展名一般为xxx.tar.gz。
tar 命令中有一个选项-z可以调用 gzip,-z:代表的是压缩。
tar -zcvf 打包文件名.tar.gz 路径/被打包压缩的文件
tar -zxvf 打包文件名.tar.gz
-C:可以指定文件解包的目标路径。目标目录必须存在。
tar -zxvf 打包文件名.tar.gz -C 解压目标路径
在终端输出文字 echo
echo:会在终端中显示指定的内容,通常会和重定向一起使用。
echo 在终端输出的内容
重定向 >/>>
>/>>:将显示在终端上的内容输出或者追加到指定文件中
- > 表示输出,覆盖原有的文件内容。
- >> 表示追加,将内容追加到已有文件末尾。
echo 在终端输出的内容 > x.txt
echo 在终端输出的内容 >> x.txt
文本编辑 vim
vim编辑器有三种模式:命令模式、编辑模式、末行模式
默认在命令模式,"i"进入编辑模式,"Esc"退出到命令模式,":"进入末行模式。
在末行模式下
- wq:保存并退出
- q:没有更改内容时直接退出
- q!:更改内容后不保存强制退出