cd
cd ~ //回到用户目录
cd . //当前目录
cd .. //回到上一级目录
cd / //回到根目录
cd - //返回上一次cd切换的目录
ls
ls //列出所有文件,不包含隐藏文件
ls -a //列出包括隐藏文件在内的所有文件和目录
ls -A //列出除了“.”和“..”之外的所有文件和目录
ls -R //列出目录下包含的所有文件,包括子目录中的文件
ls -l //列出所有文件的同时,列出其详细的信息
- 第一个字段:第一列
“-”
表示文件,“d”
表示目录;
之后,每三列代表一组权限,第一组表示文件拥有者(User)权限,第二组表示文件所属分组(Group)其他用户的权限,第三组表示其他分组的用户(Other Users)权限。w
代表写权限(write),r
代表读权限(read),x
代表执行权限(execute)。- 第二个字段,若是文件,则表示硬链接数,“1”则表示没有硬链接;若是文件夹则表示子目录数,空目录则值为“2”,因为默认有
.
和..
两个文件。- 第三个字段代表用户名
- 第四个字段代表文件所属分组
- 第五个字段表示文件的大小,以字节为单位
- 第六个字段表示文件最近一次修改的时间
- 第七个字段表示文件名称
ls -t //按时间先后顺序列出当前目录所包含的文件
ls -r //列出所有文件和目录并以相反的顺序排序
(ls -r //与ls列出的文件顺序相反;ls -tr //与ls -t列出的文件顺序相反)
ls f* //列出所有名称以f开头的文件
ls *.ko //列出所有为.ko后缀的文件
(f*和*.后缀名,这种文件参数的使用方式对删除命令也适用)
help
ls --help
cd --help //对应命令的帮助信息
pwd
pwd //列出文件的路径
clear
清屏命令,相当于Ctrl+D
mkdir
mkdir [目录名] //创建目录
mkdir -p [目录名] //当所创建目录的上级目录不存在时,自动创建上级目录
touch
touch [文件名] //新建一个文件
touch [文件1] [文件2] [文件3] //同时创建多个文件,用空格隔开即可
touch -a [文件名]:修改指定文件的访问时间为当前时间(修改时间戳)
cat
cat [文件名] //查看文件内容,不能用cat打开目录
cat -n [文件名]:在每行的开头显示行号
cat -E [文件名]:在每行的末尾标注$符号
which
which ls
which cd
which pwd //列出命令是哪个目录下的命令
whereis
查找指定文件,并输出其位置
whereis bash
echo
echo [内容]:直接打印具体的内容,或打印终端变量的内容。可以加双引号,也可以不加
echo $path //列出shell会从哪些目录下调用命令程序,列出的目录用“:”隔开
rm
rm:删除命令,用来删除一个或多个文件或目录
rm -f //强行删除,忽略不存在的文件,不提示确认。(f为force的意思)
rm -i //进行交互式删除,即删除时会提示确认。(i为interactive的意思)
rm -r //将参数中列出的全部目录和子目录进行递归删除。
(r为recursive的意思,删除目录必须使用-r这一命令选项,否则只能删除普通文件)
rm -v //详细显示删除操作进行的步骤。(v为verbose的意思)
rm -d //删除目录
rmdir:只用来删除空目录,不能用于删除非空目录
rmdir [目录名]
rmdir -p [目录名]:递归删除空目录,意思是若子目录删除后父目录为空,则父目录也被删除
>和>>
输出重定向:>和>>
将直接在终端输出的内容重定向到指定的文件中,重定向不会创建新的文件
echo test > test.txt //将test字符串输出到test.txt文件中,并保存,但会覆盖原来的内容
echo test1 >> test.txt //将test1字符串输出并追加到test.txt文件中,并保存,不会覆盖原来的内容
ls > test.txt //将ls命令输出的内容保存到test.txt文件中,并覆盖之前的内容
sudo
sudo命令:switch user do,即切换用户去做
在需要root权限的命令前添加sudo命令,sudo命令执行的结果,往往普通用户无权限修改。
如:在home目录下sudo touch test.txt(一般用户没有在home目录下新建文件的权限)
sudo !! //表示sudo上一条命令,即用sudo权限执行上一条命令
poweroff
poweroff//关机
reboot //重启
man
man:查看Linux自带的参考手册
man ls //查看ls命令是使用说明
man man //查看man命令的说明
- 一共有9个章节,包含9种类型的内容,按“q”退出。
man printf //查看printf函数的说明
man -s 3 printf //查看第三章库调用中的printf函数说明(-s可以省略)
- 分布包括函数名称及综述,函数调用需要包含的头文件,函数的原型等等,按“q”退出。
chmod
chmod:修改用户对文件的权限,只有文件的所有者和超级用户可以修改文件或目录的权限。
chmod -R ugo+x file
- -R:表示对file目录下所有文件和子目录及其所有文件的权限进行变更(以递归的方式逐个变更)
- ugo:作用同字母a,表示对拥有者(u),分组的其他成员(g)和其他分组的成员(o)的权限进行变更;
若为u,则只变更拥有者权限。- +:表示增加权限,+x表示增加执行权限;
若为-,则表示删除执行权限,若为=,则为重新设置权限,即指定所有用户对file文件都只有执行权限。- file:表示名称为file的目录文件。
chmod 777 file等价于chmod a = rwx file
- 用八进制语法表示权限,R W X分布对应八进制的三位:即4+2+1=7,设置那一位代表的权限,则置1,否则置0。
chmod -R a+r *
- 为当前目录所有文件和子目录及其所有文件增加读权限。
chmod 4755 file1 file2
- 设置所有使用file1和file2的用户,在使用file1和file2文件时都具有root权限(特殊权限),剩下的755表示u=rwx,g=rx,o=rx;
- 同时设置多个文件的权限时用空格隔开。
chown
chown [参数] [分组.用户名] [文件或目录名]:修改文件或目录的拥有者,分组和用户名都可以省略一个。
参数:
- -R:递归处理,将指定目录下的所有文件和子目录一同处理;
chown root.root file
- 修改file文件的拥有者为root分组中的root用户。
cp
cp [参数] [源地址] [目标地址]:复制文件或文件夹
参数:
- -f :强行复制文件,不管要复制的文件是否已经存在于目标目录;
- -I :覆盖现有文件之前询问用户;
- -r 或-R :递归处理,将指定目录下的文件及子目录一并处理
cp file1 file2
- 复制file1的一份副本file2到当前目录中。
mv
mv [参数] [源地址] [目标地址]:移动文件,或给文件重命名
参数:
- -b :如果要覆盖文件的话覆盖前先进行备份;
- -f :若目标文件或目录与现在的文件重复,直接覆盖目的文件或目录;
- -i :在覆盖之前询问用户。
若在同一目录下移动在,则对文件进行重命名
mv file1 file2
- 重命名file1文件名为file2。
du和df命令
- du:递归显示指定目录或文件的大小
- df:显示系统磁盘的使用情况
zip
zip [参数] [压缩文件名.zip] [源文件]:压缩并得到后缀为.zip的压缩文件。
参数:
- -r :递归压缩,将指定目录下的所有文件和子目录一起压缩;
- -v :显示指令执行过程;
- -num :压缩率,为 1~9 的数值。
unzip
unzip [参数] [压缩文件名.zip]:对.zip格式的压缩包进行解压。
参数:
- -l :显示压缩文件内所包含的文件;
- -v :显示压缩的执行过程;
- -n :解压缩时不要覆盖原有文件。
tar
tar [参数] [压缩文件名] [源文件]:压缩或解压其他格式的压缩文件,如常用的.bz2文件和.gz文件
- -c :创建新的压缩文件;
- -v:显示压缩执行过程;
- -j:用tar生成压缩文件,然后用bzip2进行压缩或解压缩;
- -z:用tar生成压缩文件,然后用gzip进行压缩或解压缩;
- -f:指定压缩文件。
- -x:从压缩文件中还原(解压缩)文件。
tar -vcjf file.tar.bz2 file
- 将file文件压缩为.bz2格式的文件
tar -vczf file.tar.gz file
- 将file文件压缩为.gz格式的文件
tar -vxjf file.tar.bz2
- 解压.bz2格式的压缩文件
tar -vxzf file.tar.gz
- 解压.gz格式的压缩文件
find
find [路径] [参数] [关键字]:查找文件
路径指目标文件的路径,不写的话默认指当前路径,关键字是文件名的一部分。
参数:
- -name<文件名称>:查找文件指定文件名称的文件,可以使用通配符*,但要加引号;
- -gid<群组识别码>:查找符号指定群组识别码的文件或目录;
- -group<群组名称>:查找符合指定群组名称的文件或目录;
- -user<拥有者名称>:查找符合指定拥有者名称的文件或目录;
- -size<文件大小>:查找符合指定文件大小的文件或目录;
-size 1024c:表示大小为1024字节的文件
-size +1024c:表示大小大于1024字节的文件,小于则用减号- -type<文件类型>:查找符合指定文件类型的文件或目录;参数f表示普通文件,参数d表示目录文件,参数l表示链接文件,参数c表示字符型文件,参数b表示区块型文件
- -perm:指定要查找的文件权限信息,参数用三位八进制数表示
find /etc/ -name Vim*
- 在/etc目录下查找Vim开头的文件或目录,包括其子目录中的文件或目录。
grep
grep [参数] [关键字] [文件目录]:查找文件内容包含指定关键字的文件
参数:
- -i:忽略关键字大小写;
- -d:当查找的是某一目录而不是文件时,必须使用此参数;
- -r:在指定的目录中递归查找(当前目录及其所有的子目录);
- -v:表示反向查找,查找出不包含指定条件的文件;
- -n:显示查找到的关键字所在的行号;
- 关键字样式可以包含空格,但要加引号。参数可以使用通配符,不用加引号,如果参数是一个目录,则必须使用-r选项
grep -ir file /usr
- 在/usr目录下查找包含file关键字的文件,file关键字所在的行。
ln
- 为文件创建链接
- ln [选项] [源文件] [链接文件]
- -s:创建软链接
不加选项,则创建硬链接- 无论修改链接还是修改源文件,所有链接文件同步更新修改;目录只可创建软链接,不能创建硬链接;删除源文件后,硬链接依旧可以用来访问原来的文件,软链接则出现指向错误,恢复源文件后,软软链接恢复指向,硬链接依旧代表原来的文件,此时硬链接失效
su
- 用于切换当前用户
- su [选项] [用户名]
- sudo:以超级用户的身份执行命令
- 不可随意切换用户,需要root用户权限时,就使用sudo命令