linux常用命令
Linux常用命令
Ctrl+a 将光标移到行首
Ctrl+e 将光标移到行末
Ctrl+c 强制终止当前命令
Ctrl+l 清屏
Ctrl+u 快速删除当前光标前的所有内容
Ctrl+k 快速删除当前光标后的所有内容
获得命令帮助:
- 使用help命令:查看各shell内部命令的帮助信息
- 使用“--help”选项
- 使用man手册页:按↑、↓方向键可以向上、向下滚动一行文本内容按Page up和Page down可以向上、向下翻页显示;按Q或q可以随时退出手册页的阅读环境;按/键后可以对手册内容进行查找,如输入“/-V”可以查找到“-V”选项的帮助信息,若找到的结果有多个,还可以按n或N向下、向上进行定位选择
pwd命令——查看当前的工作目录
cd命令——切换工作目录
在Linux操作系统中表示某个目录(或文件)的位置是,根据其参照的起始目录不同,可以使用两种不同的形式,分别称为绝对路径和相对路径:
绝对路径:以根目录“/”作为起点
相对路径:以当前工作目录作为起点
(1)直接使用目录名或文件名表示当前工作目录中的子目录、文件的位置
(2)使用一个点号“.”开头可明确表示以当前的工作目录作为起点
(3)使用两个点号“..”开头表示以当前目录的上一级目录(父目录)作为起点
ls命令——列表显示目录内容
-l:以长格式显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息
-a:显示所有子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件
-A:与-a选项的作用基本类似,但不会显示“.”和“..”
-d:显示目录本身的属性,而不是显示目录中的内容
-R:以递归的方式显示指定目录及其子目录中的所有内容
du命令——统计目录及文件的空间占用情况
-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h:以更人性化的方式显示出统计结果
-s:只统计每个参数所占用空间总的大小
mkdir命令——创建新的目录
mkdir –p:一次性创建嵌套的多层目录
touch——创建空文件(当目标文件已存在时,将更新文的件的时间标记,否则将创建制定名称的空文件)
ln命令——创建链接文件
文件系统中的每个文件均有一个索引节点即inode与其相关联。inode包含有关文件的基本信息:其权限、时间戳以及指向存储在该文件中数据的指针。当创建新文件时,文件系统中未使用的inode将分配给该文件,并向该文件所在目录添加一个条目,将文件名映射至inode中。
格式:ln [-s] 源文件或目录… 链接文件或目标目录
【-s:建立符号链接文件(省略此项则建立硬链接)】
硬连接 |
软链接(符号链接) |
指向相同inode的多个名称 |
指向原始名称的附加名称 |
增加链接数 |
分隔文件 |
所有名称是平等的 |
附加名称可以断开 |
在删除所有名称之前,数据一直保留 |
如果删除了原始名称,则数据丢失 |
必须在相同文件系统 |
可以跨多个文件系统 |
cp——复制文件或目录
-f:覆盖目标同名文件或目录时不进行提醒, 而直接强制复制
-i:覆盖目标同名文件或目录时提醒用户确认
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
eg:cp:cp –i 别名
unalias 删除别名
alias cp=‘cp - i’添加别名
rm命令——删除文件或目录
-f:删除文件或目录时不进行提醒,直接强制删除
-i:删除文件或目录时提醒用户确认
-r:删除目录时必须使用此选项,表示递归删除整个目录树
rmdir命令,删除空目录
-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除
mv命令——移动文件或目录
如果在同一目录下移动文件或目录,则相当于执行重命名操作
which命令——查找用户所执行的命令文件存放的目录
1.执行外部命令时如果没有书写该命令的路径,则会根据PATH变量记录的路径进行搜索。
2.若PATH变量中没有要执行命令的路径:
1)将命令所在的路径添加到PATH变量中 PATH=$PATH:路径
2)/命令所在路径/命令
find命令——查找文件和目录
find pathname -option [-print ] [ -exec | -ok command ] {} \;
find / -type f –name test3 –exec ls –lh {} \;
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为command { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
第一部分:查找名称查找文件的基本查找命令
-name filename //查找名为filename的文件。
-iname filename //与-name相同,查找名为filename的文件,但忽略大小写,即不区分大小写。(i=ignore 忽略)
-type b/d/c/p/l/f //按照文件类型查找,查是块设备、目录、字符设备、管道、符号链接、普通文件。
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
- 在指定目录下查找文件
2. 使用名称查找目录
3.查找目录并列出目录下的文件(这里要注意{}的使用:替代查找到的文件)
第二部分:根据他们的权限查找文件
-perm //按执行权限来查找
-empty //查找长度为零(即空文件)的文件
1.查找权限为777的所有文件
2.查找没有777权限的文件
说明: !表示否定,即取反
第三部分:基于所有者和组的搜索文件
-user #按文件属主来查找
-group #按组来查找
-nogroup #查无有效属组的文件
-nouser #查无有效属主的文件(孤儿文件)
第四部分:根据日期和时间查找文件和目录
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
1. 在/root下查找文件更新日时在距现在时刻二天以内的文件
# find /root/ -mtime -2
2. 在/root下查找文件更新日时在距现在时刻二天以上的文件
# find /root/ -mtime +2
3.在/root下查找文件更新日时在距现在时刻一天以上二天以内的文件
# find /root/ -mtime 2
查找所有被修改超过50天以及少于100天的文件。
# find / -mtime +50 -mtime -100
查找更改时间比文件file1新但比文件file2旧的文件。
-newer file1 ! file2
第五部分:根据大小查找文件
-size [+/-]n
按照文件大小查询文件,+n表示文件大小大于n,-n表示文件大小小于n。
maxdepth 查找一到两层以内的子目录
mindepth 至少到达第 N 层子目录后才开始查找文件。
-prune:不在当前指定目录中查找
find / -path /etc -prune -o -name passwd -print //在根目录及其子目录(除了/etc目录及其子目录)下查找名为passwd的文件。
locate命令
locate命令实际是"find -name"的另一种写法,但是查找方式跟find不同,它比find快得多。因为它不搜索具体目录,而是在一个数据库(/var/lib/mlocate/mlocate.db)中搜索指定的文件。
# echo "I love linux" >locatetest
# locate locatetest //更新数据库前
# find -name locatetest
./locatetest
# updatedb //更新数据库后
# locate locatetest
/root/locatetest
# rm -f locatetest //执行删除文件后
# find -name locatetest
# locate locatetest
/root/locatetest
# updatedb
# locate locatetest
type命令
type命令主要用于区分一个命令到底是shell自带的还是外部独立的二进制文件提供的。
# type cd
cd is a shell builtin 内部命令
# type ssh
ssh is /usr/bin/ssh 外部命令