linux常用命令

linux命令的基本格式:命令 【选项】【参数】,如  cd -l anaconda3

  • ls:显示当前目录下的内容(list)

ls -a(all)显示所有文件,包括隐藏的文件
ls -l长格式显示,显示文件的详细信息,文件大小是字节
ls -lh字节的显示格式:K:KB千字节,M:MB兆字节
  • cd:切换目录(change directory)

cd /根目录
cd ~home目录
cd -上次所在目录
cd .当前目录
cd ..上一目录
pdw査看当前所在的目录
  • 绝对路径vs相对路径

绝对路径:路径是从根目录开始一级一级指定的

相对路径:从当前所在目录开始切换目录

  • mkdir:创建目录(make directories )

 示例作用
mkdirmkdir cangls建立目录
mkdir -p mkdir -p movie/jp/cangls递归建立目录
  • rmdir:删除空目录(remove empty directories)

   
rmdirrmdir cangls删除空目录cangls
rmdir -prmdir -p movie/jp/cangls递归删除空目录

注:只能删除空目录,一旦目录中有内容就会报错,故一般使用rm命令

  • touch:触摸,用于修改文件的时间戳。如果文件不存在则会建立空文件,如果文件已存在则会修改文件的时间戳(change file timestamps)

     示例作用
    touch touch file修改file文件的时间戳
    touch -atouch -a file只修改文件的访问时间
    touch -ctouch  -c file如果文件不存在,则不建立新文件

    touch  -d

    把文件的时间改为指定的时间
    touch  -mtouch  -m file只修改文件的数据修改时间

     

注:linux中每个文件都有三个时间:访问时间(access time),数据修改时间(modify time),状态修改时间(change time)

在linux中, 文件没有创建时间

不过,touch 命令只能人为指定只修改访问时间,或是只修改数据修改时间,而不能指定只修改状态修改时间。因为不论是修改访问时间,还是修改文件的数据时间,对文件来讲,状态都会发生改变,即状态修改时间会随之自动改变

  • stat:显示文件或文件系统的详细信息(display file or file system status)

     示例作用
    statstat file查看文件的信息(含有时间戳)
    stat -fstat -f file查看文件所在的文件系统信息
  • cat:查看文件的内容,即连接文件并打印输出到标准输出(concatenate files and print on the standard output)

    cat -A相当于 -vET 选项的整合,用于列出所有隐藏符号;
    cat -E列出每行结尾的回车符 $
    cat -n显示行号
    cat -T把 Tab 键 ^I 显示出来
    cat-V列出特殊字符
    注:cat适应于查看小文件
  • more:分屏显示文件(适用于大文件,功能类似cat)

  • head:查看文件的开头(output the first part of files)

     示例作用
    headhead file显示文件开头(默认开头10行)
    head -nhead -n 20 file or head -20 file显示文件开头20行
    head -vhead -v file显示文件名
  • tail 显示文件的结尾(output the last part of files)

 示例作用
tailtail file显示文件结尾(默认10行)
tail -ntail -n 20 file  or tail -20 file显示文件定义行数的结尾
tail -ftail -f file监听文件的新增内容,光标不会退出命令,会一直监听文件的结尾处,等待显示新增内容
  • rm:强大的删除命令,可以删除文件和目录(remove files or directories)。

rm 删除

rm -f 

强制删除(force)
rm -i交互删除,在删除之前会询问用户
rm -r递归删除,可以删除目录
rm -rf最常用,可强制删除文件和目录

 

  • cp:复制,可复制文件和目录(copy files and directories) 

  • 命令格式:cp [选项] 源文件 目标文件

  1. 复制文件:cp bols  /tmp/
  2. 复制目录:cp -r /test/  /test_copy/
  • mv:剪切,可剪切文件和目录。命令格式:mv [选项] 源文件 目标文件

    mv -f强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
    mv -i交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
    mv -n如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
    mv -v显示详细信息;
  • linux文件的权限:

  1. 所有者:文件的建立者

  2. 所属组:所属的用户组

  3. 其他人:其他的人

  • linux文件的权限位

  1. 第1位:文件类型。例如:
    “-”普通文件
    “c”字符设备文件。这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘d等
    “d”目录文件。Linux 中一切皆文件,所以目录也是文件的一种。
  2. 2~4位:文件所有者的权限
    rread,读取权限
    wwrite,写权限
    xexecute,执行权限
    -如果有上述字母,则代表拥有对应的权限;如果是"-",则代表没有对应的权限
  3. 5~7位:文件所属组的权限。同上
  4. 8~10位:其他人的权限。同上
  • chmod:修改权限(change mode)。命令格式:chmod [选项] 权限模式 文件名

  1. 选项:
    -R递归设置权限,也就是给子目录中的所有文件设定权限
  2. 权限模式:【用户身份】【赋予方式】【权限】

  3. 用户身份:

    u所有者user
    g所属组group
    o其他other
    a所有身份all
  4. 赋予方式

    +加入权限
    -减去权限
    =直接设置权限,用着方便
  5. 权限

    r读取
    w
    x执行execute
  6. 举例:chmod u+x file  #将file文件的所有者加入执行权限;  chmod g+w,o-w  file#给多个身份同时加入权限     chmod u=rwx,g=rw,o=rw file #直接通过“=”设置权限(注:注意两个权限之间的逗号)

  • 权限对文件的作用。

  1. -读(r):对文件有读(r)权限,代表可以读取文件中的数据。如果把权限对应到命令上,那么一旦对文件有读(r)权限,就可以对文件执行 cat、more、less、head、tail 等文件查看命令。
  2. -写(w):对文件有写(w)权限,代表可以修改文件中的数据。如果把权限对应到命令上,那么一旦对文件有写(w)权限,就可以对文件执行 vim、echo 等修改文件数据的命令。注意,对文件有写权限,是不能删除文件本身的,只能修改文件中的数据。如果要想删除文件,则需要对文件的上级目录拥有写权限。
  3. -执行(x):对文件有执行(x)权限,代表文件拥有了执行权限,可以运行。在 Linux 中,只要文件有执行(x)权限,这个文件就是执行文件了。只是这个文件到底能不能正确执行,不仅需要执行(x)权限,还要看文件中的代码是不是正确的语言代码。对文件来说,执行(x)权限是最高权限。
  • 权限对目录的作用

  1. -读(r):对目录有读 (r)权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些子文件和子目录。如果把权限对应到命令上,那么一旦对目录拥有了读(r)权限,就可以在目录下执行 ls 命令,查看目录下的内容了。
  2. -写(w):对目录有写(r)权限,代表可以修改目录下的数据,也就是可以在目录中新建、删除、复制、剪切子文件或子目录。如果把权限对应到命令上,那么一旦对目录拥有了写(w)权限,就可以在目录下执行 touch、rm、cp、mv 命令。对目录来说,写(w)权限是最高权限。
  3. -执行(x):目录是不能运行的,那么对目录拥有执行(x)权限,代表可以进入目录。如果把权限对应到命令上,那么一旦对目录拥有了执行(x)权限,就可以对目录执行 cd 命令,进入目录。
  • chown:修改文件和目录的所有者和所属组(change file owner and group)

  1. 修改文件所有者:chown user file #file文件原所有者是zongyu,现在修改为user
  2. 修改文件的所属组:chown user:uesr file #将file文件的所有者改为user,所属组改为user。注:在 Linux 中,每个用户建立之后(如zongyu),都会建立和用户名同名的用户组,作为这个用户的初始组
  • chgrp:修改文件和目录的所属组(change group ownership)

  1. chgrp uesr file  # 修改file文件的所属组为user用户组
  • umask:查看和设置linux系统中文件和目录的默认初始权限

  1. umask -S:查看系统文件和目录默认权限
  • linux查看命令帮助信息是几个命令

  1. man 命令:最常用,可查看外部命令和shell内置命令的帮助。如:man ls
  2. info 命令 :  info命令的帮助信息是一套完整的资料,每个单独命令的帮助信息只是这套完整资料中的某一个小章节。大家可以把 info 帮助信息看成一部独立的电子书,所以每个命令的帮助信息都会和书籍一样,拥有章节编号
  3. help 命令:只能获取shell内置命令的帮助 (但在 Linux 中绝大多数命令是外部命令,所以 help 命令的作用非常有限)
  4. --help选项: 绝大多数命令都可以使用"--help"选项来査看帮助,这种方法非常简单,输出的帮助信息基本上是 man 命令的信息简要版。如:ls --help
  • whereis:搜索系统命令,而不能搜索普通文件

whereis 不仅可以搜索二进制命令,还可以找到命令的帮助文档的位置。
whereis -b只搜索二进制命令
whereis -m只搜索帮助文档
  • which:也是搜索系统命令的命令

  1. 和 whereis 命令的区别在于,whereis 命令可以在查找到二进制命令的同时,查找到帮助文档的位置;而which命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令.如:which ls

  • locate:按照文件名搜索普通文件(find files by name)

  1. 基本用法:locate file
  2. 注:因为 locate 命令不会直接搜索硬盘空间,而会先建立 locate 数据库,然后在数据库中按照文件名进行搜索,是快速的搜索命令。(这样做的好处是耗费系统资源小、搜索速度快;缺点是不是实时更新的,而要等用户退出登录或重启系统时,locate 数据库才会更新)所以我们无法查找到新建立的文件。可通过updatedb命令更新数据库,这样locate就可以搜索到新建立的文件。
  • find:在目录中查找文件(search for files in a directory hierarchy)

  1. find 是 Linux 中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限、大小、时间、inode 号等来搜索文件。但是 find 命令是直接在硬盘中进行搜索的,如果指定的搜索范围过大,find命令就会消耗较大的系统资源,导致服务器压力过大。所以,在使用 find 命令搜索时,不要指定过大的搜索范围。
  2. 命令格式:find 搜索路径 【选项】 搜索内容
  3. 按照文件名搜索:选项有:
    -name按照文件名搜索
    -iname按照文件名搜索,不区分文件名大小写
    -inum按照inode号搜索
    例如:find /test  -name  file (注: find 命令有一个小特性,就是搜索的文件名必须和你的搜索内容一致才能找到。如果只包含搜索内容,则不会找到。这种特性总结为:find 命令是完全匹配的,必须和搜索关键字一模一样才会列出。)
  4. 按照文件大小搜索:find 搜索路径 【选项】搜索内容
    find ./test -size 1k在/test文件里查找大小等于1KB的文件
    find test -size -1k在/test文件里查找大小小于1KB的文件
    find ./test -size +1k在/test文件里查找大小大于1KB的文件
  5. 按照修改时间搜索:find 搜索路径 【选项】 搜索内容
    选项
    -atime按照文件访问时间搜索
    -mtime按照文件数据修改时间搜索
    -ctime按照文件状态修改时间搜索
    搜索内容
    -55天内修改的文件
    55~6那一天修改的文件
    +56天前修改的文件

例如:find. -mtime -5  #搜索当前目录下5天内修改的文件

注:也可按照amin,mmin,cmin来查找,time默认单位是天,min默认单位是分钟

6. 按照权限搜索:find 搜索路径 【选项】 搜索内容

选项
-perm 权限模式査找文件权限刚好等于"权限模式"的文件
-perm -权限模式査找文件权限全部包含"权限模式"的文件
-perm +权限模式査找文件权限包含"权限模式"的任意一个权限的文件

 

例如:find. -perm 444

7.按照所有者和所属组搜索

-uid  用户ID按照用户 ID 査找所有者是指定 ID 的文件
-gid 组 ID按照用户组 ID 査找所属组是指定 ID 的文件
-user 用户名按照用户名査找所有者是指定用户的文件
-group 组名按照组名査找所属组是指定用户组的文件
-nouser査找没有所有者的文件

 

例如:find test -user zonggyu #查找test文件夹下所有者等于zongyu的文件

8.按照文件类型搜索

选项
-type d查找目录
-type f查找普通文件
-type l查找软链接文件

 

9.逻辑运算符

选项
-a逻辑与运算,也就是 -a 的两个条件都成立,find 搜索的结果才成立
-o逻辑或运算,也就是 -o 的两个条件只要其中一个成立,find 命令就可以找到结果
-not

ot逻辑非

 

例如:find . -size +2k -a -type f #在当前目录下搜索大于2KB,并且文件类型是普通文件的文件

         find . -name cangls -o -name bols #在当前目录下搜索文件名要么是cangls的文件,要么是bols的文件

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值