命令格式: 命令 [-选项] [参数]
如: ls -la /etc
说明:
命令名称:ls
英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录或文件的信息
常用选项:-aldhi
-a 显示目录中的所有内容(包括隐藏文件)
-l 以长格式显示详细的信息
-d 显示目录本身的信息而非目录中的文件信息
-h 以易于人们阅读的格式显示文件的大小
-i 显示文件的inode号,文件的i节点号就是文件的唯一标识符,相当于身份证号
操作对象:文件或文件夹(目录),如果没有指定操作对象,默认是当前目录
Linux系统中的隐藏文件都是以 . 开头进行命名的。
-l 选项虽然可以显示出文件的详细信息(包括大小),但默认是以字节为单位来显示,而且,如果显示的是目录中文件夹的大小,通常是不准确的。它统计的文件夹的大小实际上是文件夹自身占用的大小以及文件夹内包含的文件名和一级子文件夹名所占用的大小之和,这个值一般是远小于真实的文件夹的大小。
ls -l 命令等同于 ll 命令。
-h 选项是以1000为基底进行单位换算的,而非1024。
如果想查看真实的文件夹的大小,可以使用 du 命令,如:
du -sh /tmp 查看文件夹tmp的总大小(以易于阅读的格式位显示容量)
du -sh 查看当前文件夹的总大小(以易于阅读的格式显示容量)
小技巧:
大多数命令都可以用man命令或–help查看命令的帮助信息。如:man ls 或 ls –help
ls 命令用法示例:
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog
[root@localhost ~]# ls -a
. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc install.log install.log.syslog .mysql_history .tcshrc
[root@localhost ~]# ls /
bin boot dev etc home lib lost+found media mnt my_package opt proc root sbin selinux srv sys tmp usr var
[root@localhost ~]# ls -l
总用量 24
-rw-------. 1 root root 1139 10月 25 21:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 12797 10月 25 21:46 install.log
-rw-r--r--. 1 root root 3482 10月 25 21:44 install.log.syslog
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog
[root@localhost ~]# ls -a
. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc install.log install.log.syslog .mysql_history .tcshrc
[root@localhost ~]# ls /
bin boot dev etc home lib lost+found media mnt my_package opt proc root sbin selinux srv sys tmp usr var
[root@localhost ~]# ls -l
总用量 24
-rw-------. 1 root root 1139 10月 25 21:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 12797 10月 25 21:46 install.log
-rw-r--r--. 1 root root 3482 10月 25 21:44 install.log.syslog
[root@localhost ~]# ls -lh
总用量 24K
-rw-------. 1 root root 1.2K 10月 25 21:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 13K 10月 25 21:46 install.log
-rw-r--r--. 1 root root 3.5K 10月 25 21:44 install.log.syslog
下面对最后一行显示信息进行详细说明。
ls 命令的常见用法:
ls 显示当前目录中的所有内容(不包含隐藏文件)
ls /etc 显示指定目录 /etc 中的所有内容(不包含隐藏文件)
ls -a 显示当前目录中的所有内容(包含隐藏文件)
ls -l 以长格式显示当前目录中所有内容的详细信息(不包含隐藏文件),等同于 ll
ls -lh 同上,但文件的大小会以易于阅读的格式进行显示,等同于 ll -h
ls -l /tmp/a.txt 以长格式显示文件 /tmp/a.txt 的详细信息,等同于 ll /tmp/a.txt
ls -ld /etc 以长格式显示目录 /etc 本身的详细信息,等同于 ll -d /etc
ls -i 显示当前目录中的所有内容(不包含隐藏文件),同时显示文件的inode号
命令名称:mkdir
英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
功能描述:创建空目录
常用选项:-p
-p 递归创建多级空目录
操作对象:空文件夹(空目录),可同时创建多个空目录
mkdir 命令的常见用法:
mkdir test 在当前目录下新建一个test文件夹
mkdir test1 test2 在当前目录下同时创建两个文件夹
mkdir -p /a/b/c 递归创建一个多级空目录 /a/b/c
命令名称:cd
英文原意:change directory
命令所在路径:shell 内置命令
执行权限:所有用户
功能描述:切换目录
操作对象:目录
cd 命令的常见用法:
cd /etc 切换到指定的目录 /etc,等同于 cd /etc/,也就是说最后一个正斜线可以省略
cd 切换回当前用户的家目录
cd . 切换到当前目录,相当于没有切换目录
cd .. 切换到上一级目录
在Linux中,. 表示当前目录,.. 表示上一级目录。
命令名称:pwd
英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
功能描述:显示(打印)当前工作目录的完整名称
pwd 命令的常见用法:
pwd 显示当前目录的完整名称
命令名称:rmdir
英文原意:remove empty directory
命令所在路径:/bin/rmdir
执行权限:所有用户
功能描述:删除空目录
操作对象:空目录
rmdir 命令的常见用法:
rmdir test 删除当前目录下的空目录 test
rmdir /root/test 删除空目录 /root/test
由于命令 rmdir 只能用于删除空目录,空目录指的是该目录中没有任何文件,连目录文件也没有。所以,该命令并不常用。
命令名称:cp
英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
功能描述:复制文件或目录
常用选项:-rp
-r 递归复制目录及其目录中的所有内容
-p 保留相关属性
操作对象:文件或目录
基本语法:cp [-选项] 原文件或目录 目录文件或目录
cp 命令的常见用法:
cp /etc/grub.conf /tmp 将文件grub.conf复制到/tmp目录下
cp -p /etc/grub.conf /tmp 将文件grub.conf复制到/tmp目录下,并保留文件属性
cp /root/install.log /root/install.log.syslog /tmp 同时复制多个文件到/tmp目录下
cp /etc/grub.conf /tmp/grub.bak 将文件grub.conf复制到/tmp目录下,并重命名为grub.bak
cp -r /root/a /tmp 将目录a及其a中的所有内容都复制到/tmp目录下
cp -r /root/a /tmp/aa 复制目录a的同时进行重命名
命令名称:mv
英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
功能描述:移动文件或目录(可用于重命名)
操作对象:文件或目录
基本语法:mv [-选项] 原文件或目录 目录文件或目录
mv 命令的常见用法:
mv /root/a /tmp 将目录a及其内容移动到/tmp目录下
mv /root/a /tmp/aa 移动目录的同时进行重命名
mv a.txt /tmp 将当前目录下的a.txt文件移动到/tmp目录下
mv a.txt b.txt 将当前目录下的a.txt文件重命名为b.txt
mv a aa 将当前目录下的a目录重命名为aa(前提是当前目录下没有aa目录,否则就是移动到aa目录下,而不是重命名)
命令名称:rm
英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
功能描述:删除文件或目录
常用选项:-rf
-r 递归删除目录及其内容
-f 强制删除(忽略确认提示)
操作对象:文件或目录
基本语法:rm [-选项] 文件或目录
rm 命令的常见用法:
rm a.txt 删除当前目录下的a.txt文件(有提示),回复y(确认删除)或者n(取消删除)
rm -f a.txt 强制删除当前目录下的a.txt文件(无提示),等同于unlink a.txt
rm -f a.txt b.txt 强制删除当前目录下的多个文件(无提示)
rm -rf /tmp/a 强制删除目录a及其内容(无提示)
rm -rf * 强制删除当前目录中的所有内容(当前目录并不会被删除)
注意:Linux系统中的删除操作不会进入回收站,文件被删除后,很难进行恢复。在进行删除时,要非常谨慎。千万不要在根目录下执行 rm -rf * 或 rm -rf / 命令。
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
功能描述:创建空文件
操作对象:空文件
基本语法:touch 文件
常见用法:
touch a.txt 在当前目录下创建a.txt文件
touch a.txt b.txt 在当前目录下同时创建多个文件
touch /tmp/a.txt 在/tmp目录下创建a.txt文件(使用绝对路径)
说明:
在Windows系统中,我们经常可以看到文件名或目录名带有空格,如文件夹Program Files。在Linux中,想要创建类似的文件或目录,必须用引号(单引号或双引号都行)将文件名或目录名括起来,后续对其进行操作的时候,也要用引号。这样,就会显得比较麻烦。因此,不推荐在Linux中创建带有空格的文件名或目录名。
命令名称:cat
命令所在路径:/bin/cat
执行权限:所有用户
功能描述:显示文件的内容
操作对象:只能是文件
基本语法:cat [-选项] 文件
常见用法:
cat a.txt 查看当前目录中的a.txt文件的内容
cat -n a.txt 查看内容并显示行号
cat -n /etc/issue 查看文件/etc/issue的内容,并显示行号
cat -A a.txt 查看文件a.txt中的所有内容,包括隐藏字符,主要是回车符$
cat a.txt | grep jack 查看文件a.txt中含有jack字符串的所有行
cat 命令并不适合查看较大文件的内容,如 cat /etc/services,由于 /etc/services 文件的内容过多,用 cat 命令查看起来就比较费劲。
命令名称:tac
命令所在路径:/bin/tac
执行权限:所有用户
功能描述:反向显示文件的内容
操作对象:只能是文件
基本语法:tac [-选项] 文件
常见用法:
tac /etc/issue 反向显示/etc/issue文件的内容
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
功能描述:分页显示文件的内容(适合查看大文件)
空格或f 向下翻页
Enter 查看下一行
q或Q或Ctrl+C 退出
操作对象:只能是文件
基本语法:more 文件
常见用法:
more /etc/services 分页查看/etc/services文件的内容
命令名称:less
命令所在路径:/usr/bin/less
执行权限:所有用户
功能描述:分页显示文件的内容(可支持向上翻页或搜索)
空格或f或PageDown 向下翻页
PageUp 向上翻页
Enter或下箭头 查看下一行
上箭头 查看上一行
q或Q 退出
操作对象:只能是文件
基本语法:less 文件
常见用法:
less /etc/services 分页查看/etc/services文件的内容
用 less 命令分页查看文件时,在浏览状态下,输入 /关键词 (比如 /service)就可以对某个关键词进行查看,如果匹配到了多个,可以用 n 跳到下一个匹配项。
命令名称:head
命令所在路径:/usr/bin/head
执行权限:所有用户
功能描述:只显示文件的前面几行内容(默认显示前10行)
操作对象:只能是文件
基本语法:head -n 行数 文件
常见用法:
head /etc/services 默认显示文件/etc/services的前10行内容
head -n 10 /etc/services 显示文件/etc/services的前10行内容
命令名称:tail
命令所在路径:/usr/bin/tail
执行权限:所有用户
功能描述:只显示文件的后面几行内容(默认显示后10行)
操作对象:只能是文件
基本语法:tail -n 行数 文件
常见用法:
tail /etc/services 默认显示文件/etc/services的后10行
tail -n 10 /etc/services 显示文件/etc/services的后10行
tail -f /var/log/messages 动态显示文件/var/log/messages的后10行内容
tail -f 一般用于动态查看日志文件的后10行内容,输入该命令后,会进入浏览界面,如果文件的内容发生了变化,浏览界面的内容也会及时动态更新。可用Ctrl+C命令退出浏览界面。
命令名称:ln
英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户(个别选项只有超级用户才能使用)
功能描述:创建硬链接或符号链接(符号链接也叫软链接)
操作对象:文件或目录
基本语法:ln [-选项] 原文件 目标文件
说明: 如果不加选项,默认就是创建硬链接。
常见用法:
ln -s /etc/issue /tmp/issue.s 给/etc/issue文件创建一个软链接文件/tmp/issue.s
ln /etc/issue /tmp/issue.h 给/etc/issue文件创建一个硬链接文件/tmp/issue.h
现在,我们来查看一下/tmp目录中文件的详细信息。
[root@localhost tmp]# ll /tmp
总用量 4
-rw-r--r--. 2 root root 47 10月 23 2014 issue.h
lrwxrwxrwx. 1 root root 10 11月 13 19:20 issue.s -> /etc/issue
可以发现,软链接issue.s的文件类型是l(即软链接),且该文件的权限是最大权限,它指向的原文件是/etc/issue,简单地说,软链接就类似于Windows系统中的快捷方式。
软链接的特点:
硬链接的特点:
判断一个文件是否是软链接很容易,那么,如何判断一个文件是否是硬链接?答案是:通过inode(i节点)号,因为硬链接和原文件的inode号一模一样。
[root@localhost tmp]# ls -i /etc/issue /tmp/issue.h /tmp/issue.s
262635 /etc/issue 262635 /tmp/issue.h 165745 /tmp/issue.s
在实际的操作中,硬链接用得比较少,而软链接就用得很多。因为,我们经常需要给一个文件(或目录)创建一个快捷方式。例如,给/tmp目录创建一个软链接。
ln -s /tmp /root/tmp.s