linux常用命令

Linux常用命令

 

Ctrl+a 将光标移到行首

Ctrl+e 将光标移到行末

Ctrl+c 强制终止当前命令

Ctrl+l 清屏

Ctrl+u 快速删除当前光标前的所有内容

Ctrl+k 快速删除当前光标后的所有内容

 

获得命令帮助:

  1. 使用help命令:查看各shell内部命令的帮助信息
  2. 使用“--help”选项
  3. 使用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文件

  1. 在指定目录下查找文件

 

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 外部命令

posted @ 2019-04-14 17:39  Medivh12306  阅读(240)  评论(0编辑  收藏  举报