linux常用命令
-
常用命令
命令格式:
命令的提示符
[root@localhost ~]#
[]
:这是提示符的分隔符号,没有特殊含义。root
:显示的是当前的登录用户,现在使用的是root用户登录。@
:分隔符号,没有特殊含义。localhos
t:当前系统的简写主机名(完整主机名是localhost.localdomain)~
:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。#
:命令提示符。超级用户是#,普通用户是$
命令的基本格式
[root@localhost ~]# 命令[选项] [参数]
以ls为例,ls是最常见的目录操作命令,主要作用是显示目录下的内容。
-
命令名称:ls。
-
英文原意:list。
-
所在路径:/bin/ls。
-
执行权限:所有用户。
-
功能描述:显示目录下的内容。
#ls [选项] [文件名或目录名] 选项: -a:显示所有文件 --color=when 支持颜色输出,when的值默认是always(总显示颜色),也可以是never(从不显示颜色)和auto(自动) -d:显示目录信息,而不是目录下的文件 -h:人性化显示,会将文件大小单位从字节改为人性化的kb,M,G -i:显示文件的i节点号 -l:长格式显示
- 这里只列出比较常用的几个选项,更详细的可以使用
ls --help
命令查看 - 有多个选项时可以写在一,例
ls -la /etc
- 约定:一个
-
表示简写 ,--
表示完整写法
目录处理命令:
ls
介绍见上,下面举个例子
[birdy@hadoop ~]$ ls -lh 总用量 32K drwxr-xr-x. 2 birdy birdy 4.0K 3月 21 14:10 公共的 drwxr-xr-x. 2 birdy birdy 4.0K 3月 21 14:10 模板 drwxr-xr-x. 2 birdy birdy 4.0K 3月 21 14:10 视频 drwxr-xr-x. 2 birdy birdy 4.0K 3月 21 14:10 图片 drwxr-xr-x. 2 birdy birdy 4.0K 3月 21 14:10 文档 drwxr-xr-x. 2 birdy birdy 4.0K 3月 21 14:10 下载 drwxr-xr-x. 2 birdy birdy 4.0K 3月 21 14:10 音乐 drwxr-xr-x. 2 birdy birdy 4.0K 3月 21 14:10 桌面 #drwxr-xr-x. 2 birdy birdy 4.0K 3月 21 14:10 视频 # 权限 引用计数 所有者 所属组 大小 文件修改时间 文件名
我们已经知道
-lh
选项用于人性化显示文件的详细信息,那么显示的这7列分别是什么含义?- 权限。具体权限的含义将在后续继续更新讲解。
- 引用计数。文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。
- 所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户
- 所属组。默认所属组是文件建立用时户的有效组,一般情况下就是建立用户的所在组。
- 大小。默认单位是字节。
- 文件修改时间。文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。
mkdir
英文原意: make directory
语法:
mkdir -p 目录名 -p:递归创建
例:
mkdir -p test01/test02 //当前文件夹下没有test01文件夹,使用-p可以同时创建两层目录
- 第一个文件夹不加/
- 可同时创建多个同级目录,中间用空格隔开
cd
cd
是切换所在目录的命令,这个命令的基本信息如下。- 命令名称:cd。
- 英文原意:change directory。
- 所在路径:bash内置命令。
- 执行权限:所有用户。
- 功能描述:切换所在目录
符号 含义 ~
用户的家目录 -
上次所在目录 .
当前目录 ..
上级目录 绝对路径和相对路径
- 绝对路径:以根目录为参照物,从根目录开始,一级一级进入目录
- 相对路径:以当前目录作为参照物,进行目录查找
举例:
#从home目录切换到root目录 #使用绝对路径切换 cd /root #使用相对路径切换 cd ../root
pwd
pwd命令是查询所在目录的命令
基本信息如下:
- 命令名称:pwd
- 英文原意:print name of current/working directory
- 所在路径:/bin/pwd
- 执行权限:所有用户。
- 功能描述:查询所在的工作目录。
mkdir命令
mkdir是创建目录的命令
基本信息如下
- 命令名称:mkdir
- 英文原意:make directories
- 所在路径:/bin/mkdir。
- 执行权限:所有用户。
- 功能描述:创建空目录。
#常用选项 -p :创建多级目录 #在/home/birdy目录下创建/animal/dog目录 mkdir animal/dog
在linux下
\
代表根目录,上面的例子若是写成mkdir /animal/dog
,代表在根目录下创建子目录rmdir
既然有建立目录的命令,就一定会有删除目录的命令rmdir
基本信息如下
- 命令名称:rmdir。
- 英文原意:remove empty directories。
- 所在路径:/bin/rmdir。
- 执行权限:所有用户。
- 功能描述:删除空目录
#选项: -p:递归删除目录
rmdir命令的作用十分有限,因为只能删除空目录,一旦目录中有内容,就会报错。所以这个命令比较“笨”,我们不太常用。后续我们不论删除的是文件还是目录,都会使用
rm
命令文件操作命令
touch
创建空文件或修改文件时间
基本信息如下。
- 命令名称:touch
- 英文原意:change file timestamps。
- 所在路径:/bin/touch。
- 执行权限:所有用户
- 功能描述:修改文件的时间戳。
如果文件存在,则刷新该文件的修改时间
stat
stat是查看文件详细信息的命令,而且可以看到文件的三个时间
基本信息如下
- 命令名称:stat
- 英文原意:display file or file system status
- 所在路径:/usr/bin/stat
- 执行权限:所有用户
- 功能描述:显示文件或文件系统的详细信息
cat
cat命令用来查看文件内容。
基本信息如下
- 命令名称:cat
- 英文原意:concatenate files and print on the standard output。
- 所在路径:/bin/cat。
- 执行权限:所有用户。
- 功能描述:合并文件并打印输出到标准输出
cat [选项] 文件名选项: -A:相当于-vET选项的整合,用于列出所有隐藏符号 -E:列出每行结尾的回车符$ -n:显示行号 -T:把Tab键用^I显示出来 -v:列出特殊字符
more
more是分屏显示文件的命令
基本信息如下。
-
命令名称:more
-
英文原意:file perusal filter for crt viewin
-
所在路径:/bin/more
-
执行权限:所有用户
-
功能描述:分屏显示文件内容
more命令比较简单,一般不用什么选项,命令会打开一个交互界面,可以识别一些交互命令。常用的交互命令如下。
- 空格键:向下翻页。
b
:向上翻页。- 回车键:向下滚动一行。
/
:搜索指定的字符串。q
:退出=
:输出当前行号
less
less命令和more命令类似,只是more是分屏显示命令,而less是分行显示命令
其基本信息如下。
- 命令名称:less
- 英文原意:opposite of more
- 所在路径:/usr/bin/less。
- 执行权限:所有用户
- 功能描述:分行显示文件内容
head
head是用来显示文件开头的命令
其基本信息如下。
-
命令名称:head。
-
英文原意:output the first part of files。
-
所在路径:/usr/bin/head。
-
执行权限:所有用户。
-
功能描述:显示文件开头的内容。
命令格式
head [选项] 文件名 -[n] 从文件头开始,显示n行数据 -v:显示文件名
tail
命令既然有显示文件开头的命令,就会有显示文件结尾的命令tail
基本信息如下。
- 命令名称:tail
- 英文原意:output the last part of files
- 所在路径:/usr/bin/tail
- 执行权限:所有用户
- 功能描述:显示文件结尾的内容。
tail [选项] 文件名 -[n]: 从文件结尾开始,向上显示n行 -f: 动态显示文件的新增内容
echo
输出内容到控制台。
echo [选项] [输出内容] #案例: 使用echo 指令输出环境变量,比如 PATH echo $PATH
>
和>>
>
:输出重定向和>>
:追加
ls -l > a.txt #功能描述:列表的内容写入文件a.txt中(覆盖写) ls -al >> a.txt #功能描述:列表的内容追加到文件a.txt的末尾 cat 文件1 > 文件2 #功能描述:将文件1的内容覆盖到文件2 echo "内容">> 文件 #将内容写入文件中
#例1: 将 /home 目录下的文件列表 写入到 /home/info.txt 中 ls –l /home/ > /home/info.txt #如果文件不存在,则会自动创建 #例2: 将当前日历信息追加到 /home/mycal 文件中 date >> /home/mycal
目录和文件都能操作的命令
cp
cp命令是用于复制的命令
基本信息如下:
-
命令名称:cp
-
英文原意:copy files and directories
-
所在路径:/bin/cp
-
执行权限:所有用户
-
功能描述:复制文件和目录。
命令格式
cp [选项] 源文件 目标文件 -a:相当于-dpr选项的集合,这几个选项我们一一介绍 -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接 -i:询问,如果目标文件已经存在,则会询问是否覆盖 -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间) -r:递归复制,用于复制目录
move
英文原意: 移动
作用:剪切或改名
语法:
//剪切 mv 原目录或文件 目标目录或文件 //改名 mv 原文件名 新文件名 //剪切和改名可同时进行 mv 原目录/原文件名 目标目录/新文件名
rm
rm是强大的删除命令,不仅可以删除文件,也可以删除目录。
基本信息如下。
-
命令名称:rm。
-
英文原意:remove files or directories。
-
所在路径:/bin/rm
-
执行权限:所有用户。
-
功能描述:删除文件或目录
rm [选项] 文件或目录 -f:强制删除(force) -i:交互删除,在删除之前会询问用户 -r:递归删除,删除目录以及目录下的文件
示例:
//删除文件 rm 文件名 //删除整个目录 rm -rf 目录名 //删除当前目录下的文件 rm -f *
history
功能描述:查看已经执行过历史命令
#案例1: 显示所有的历史命令 history #案例2: 显示最近使用过的10个指令 history 10
ln
ln [选项] 源文件 目标文件 -s:建立软链接文件。如果不加“-s”选项,则建立硬链接文件 -f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件如果创建硬链接:
示例
touch cangls ln /root/cangls /tmp/ #建立硬链接文件,目标文件没有写文件名,会和原名一致 #也就是/root/cangls和/tmp/cangls是硬链接文件 touch bols ln -s /root/bols /tmp/ #建立软链接文件
硬链接与软连接
硬链接特征
-
源文件和硬链接文件拥有相同的Inode和Block
-
修改任意一个文件,另一个都改变删除任意一个文件,另一个都能使用
-
硬链接标记不清,很难确认硬链接文件位置,不建议使用
-
硬链接不能链接目录
-
硬链接不能跨分区
软链接特征
- 软链接和源文件拥有不同的Inode和Block
- 两个文件修改任意一个,另一个都改变
- 删除软链接,源文件不受影响;删除源文件,软链接不能使用
- 软链接没有实际数据,只保存源文件的
Inode
,不论源文件多大,软链接大小不变 - 软链接的权限是最大权限
lrwxrwxrwx.
,但是由于没有实际数据,最终访问时需要参考源文件权限 - 软链接可以链接目录
- 软链接可以跨分区
- 软链接特征明显,建议使用软连接
进程命令
ps -ef|grep 进程名
ps命令将某个进程显示出来,grep命令是查找
中间的|
是管道命令,是指grep命令操作ps命令的输入
#字段含义如下:
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep --color=auto dae
-
UID :程序被该 UID 所拥有
-
PID :就是这个程序的 ID
-
PPID :则是其上级父程序的ID
-
C :CPU使用的资源百分比
-
STIME :系统启动时间
-
TTY :登入者的终端机位置
-
TIME :使用掉的CPU时间。
-
CMD :所下达的是什么指令