Linux 常用命令(一)

目录

ll命令:显示指定文件的详细属性信息

ls:显示目录中文件及其属性信息

mkdir命令:创建目录文件

touch:创建空文件与修改时间戳

rm命令:删除文件或目录

cd命令:切换目录

chmod命令:改变文件或目录权限


ll命令:显示指定文件的详细属性信息

ll 命令的功能是显示指定文件或目录的详细属性信息。

实际上它不是一个真是存在的命令,只是"ls -l --color=auto"的别名而已。

ll 命令可以默认列出当前目录的详细属性信息,包含权限、所属、修改时间以及占用空间等信息。

语法格式:ll 参数 文件名

常用参数:

# 显示当前目录内文件和目录的详细属性信息
ll

# 以文件或文件夹的上次修改时间排序,显示当前目录内文件或目录的详细属性信息
ll -t

# 以更易读的容量单位显示文件大小
ll -h

# 查看某个指定文件的详细属性信息
ll File.cfg

ls:显示目录中文件及其属性信息

ls命令来自英文单词list,意思为列出。

功能:显示目录中的文件以及属性信息。

不使用参数的情况下,默认列出当前工作目录中的信息,常与pwd和cd搭配使用。

语法:ls 参数 [文件名],如果不加文件名就是列出当前目录里所有文件的相关信息。

常用参数:

|--------|-----------------------|
| -a | 显示所有文件和目录(包含隐藏文件) |
| -A | 不显示当前目录和父目录 |
| -d | 显示目录自身的属性信息 |
| -i | 显示文件的inode属性信息 |
| -l | 显示文件的详细属性信息 |
| -m | 以逗号为间隔,水平显示文件信息 |
| -r | 根据首字母将文件以相反次序显示 |
| -R | 递归显示所有子文件 |
| -S | 依据内容大小将文件排序显示 |
| -t | 依据最后修改时间将文件排序显示 |
| -X | 依据扩展名将文件排序显示 |
| -color | 以彩色显示信息 |

显示当前目录中的文件名(默认不包含隐藏文件):

ls

root@hplinux:/home/linuxstudy/test1# ls
file0.cfg  file2.txt  file{4...7}.txt  file5.txt  file7.txt
file1.txt  file3.txt  file4.txt        file6.txt  file8.txt

显示当前目录中的文件名(包含隐藏文件):

ls -a

root@hplinux:/home/linuxstudy/test1# ls -a
.   file0.cfg  file2.txt  file{4...7}.txt  file5.txt  file7.txt
..  file1.txt  file3.txt  file4.txt        file6.txt  file8.txt

以详细信息模式输出文件名及其属性信息:

ls -l

root@hplinux:/home/linuxstudy/test1# ls -l
总计 0
-rw-r--r-- 1 root root 0  6月 22 05:00 file0.cfg
-rw-r--r-- 1 root root 0  6月 23 17:38 file1.txt
-rw-r--r-- 1 root root 0  6月 23 17:38 file2.txt
-rw-r--r-- 1 root root 0  6月 23 17:51 file3.txt
-rw-r--r-- 1 root root 0  6月 23 17:54 file{4...7}.txt
-rw-r--r-- 1 root root 0  6月 23 17:54 file4.txt
-rw-r--r-- 1 root root 0  6月 23 17:54 file5.txt
-rw-r--r-- 1 root root 0  6月 23 17:54 file6.txt
-rw-r--r-- 1 root root 0  6月 23 17:54 file7.txt
-rw-r--r-- 1 root root 0  6月 23 17:38 file8.txt

显示指定目录的文件列表:

ls /usr : 显示usr目录下的文件列表

# 显示指定目录usr下的所有目录和文件(不包含隐藏文件和目录)
root@hplinux:/home/linuxstudy/test1# ls /usr
bin  games  include  lib  lib64  libexec  local  sbin  share  src

# 显示指定目录usr下所有目录和文件(包含隐藏文件和目录)
root@hplinux:/home/linuxstudy/test1# ls -a /usr
.  ..  bin  games  include  lib  lib64  libexec  local  sbin  share  src

结合通配符一起使用,显示指定目录中所有以sd开头的文件列表:

root@lcool:/home/lcool# ls /dev/sd*
/dev/sda   /dev/sda2  /dev/sdb   /dev/sdb2
/dev/sda1  /dev/sda3  /dev/sdb1

依据文件内容大小进行排序,显示指定目录中文件名以及属性详细信息:

root@lcool:/home/lcool# ls -Sl /etc
总计 1140
-rw-r--r--  1 root                 root                 75113  7月 12  2023 mime.types
-rw-r--r--  1 root                 root                 58445  6月 24 22:28 ld.so.cache
-rw-r--r--  1 root                 root                 30571  3月 31 08:24 brltty.conf
-rw-r--r--  1 root                 root                 12813  3月 28  2021 services
-rw-r--r--  1 root                 root                 12345  2月 22 20:30 login.defs
-rw-r--r--  1 root                 root                 11424  5月 23  2023 nanorc
-rw-r--r--  1 root                 root                 10593  3月 31 10:31 sensors3.conf
-rw-r--r--  1 root                 root                  9804  4月  8 22:50 sudo_logsrvd.conf
-rw-r--r--  1 root                 root                  9563  6月 24 22:28 locale.gen
-rw-r--r--  1 root                 root                  7649  4月 24 18:49 pnm2ppa.conf
...................省略大部分内容......................

mkdir命令:创建目录文件

mkdir命令来自英文词组make directories的缩写。

其功能是创建目录文件。

该命令的使用简单,但是需要注意,若要创建的目录已经存在,则会提示已存在而不再继续创建,不覆盖已有目录。

若是目录不存在,但具有嵌套的依赖关系时,例如:/Dir1/Dir2/Dir3/Dir4/Dir5,想要一次性创建需要加入-p参数,进行递归操作。

语法格式:mkdir 参数 目录名

|----|-------------|
| -m | 创建目录的同时设置权限 |
| -p | 递归创建多级目录 |
| -v | 显示执行过程详细信息 |
| -z | 设置目录安全上下文 |

创建一个目录:

mkdir Dir1

创建一个目录文件,并设置700权限,不让除所有主以外的任何人读、写、执行它:

mkdir -m 700 Dir2

一次创建多个目录文件:

mkdir Dir3 Dir4 Dir5

创建具有嵌套关系的目录文件:

# 注意,该创建语句将文件夹创建至系统根目录下
mkdir -p /Dir1/Dir2/Dir3/Dir4/Dir5

给目录权限:777,并且多级目录同时创建,但是权限最终赋给 errors 目录

mkdir -m 777 -p htmls/index/errors

touch:创建空文件与修改时间戳

touch命令如果文件不存在,则会创建一个空内容的文本文件;如果文件已经存在则会对文件的Atime(访问时间)和Ctime(修改时间)进行修改操作,这项操作只有管理员能够完成,普通用户只能管理主机的文件。

语法:touch 参数 文件名

|-----------|-------------|
| -a | 设置文件的读取时间记录 |
| -c | 不创建新文件 |
| -d | 设置时间与日期 |
| -m | 设置文件的修改时间记录 |
| -t | 设置文件的时间记录 |
| --help | 显示帮助信息 |
| --version | 显示版本信息 |

创建一个指定名称的空文件:

touch file3.txt

结合通配符,创建多个指定名称的空文件,例如创建file4到file7的空txt文件:

touch file{4..7}.txt

该命令会创建file4.txt, file5.txt, file6.txt, file7.txt四个文件

修改指定文件的查看时间和修改时间

# 修改file0.cfg文件的查看时间和修改时间
root@hplinux:/home/linuxstudy/test1# touch -d "2024-06-22 05:00" file0.cfg

root@hplinux:/home/linuxstudy/test1# stat file0.cfg
  文件:file0.cfg
  大小:0         	块:0          IO 块大小:4096   普通空文件
设备:8,18	Inode: 1316696     硬链接:1
权限:(0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
访问时间:2024-06-22 05:00:00.000000000 +0800
修改时间:2024-06-22 05:00:00.000000000 +0800
变更时间:2024-06-23 18:18:58.870225185 +0800
创建时间:2024-06-23 18:16:52.149756598 +0800

显示版本信息:

root@hplinux:/home/linuxstudy/test1# touch --version
touch (GNU coreutils) 9.4
Copyright © 2023 Free Software Foundation, Inc.
许可证 GPLv3+:GNU 通用公共许可证第 3 版或更新版本 <https://gnu.org/licenses/gpl.html>。
本软件是自由软件:您可以自由修改和重新发布它。
在法律允许的范围内,不提供任何保证。

由 Paul Rubin、Arnold Robbins、Jim Kingdon、
David MacKenzie 和 Randy Smith 编写。

显示帮助信息:

root@hplinux:/home/linuxstudy/test1# touch --help
用法:touch [选项]... 文件...
将每个 <文件> 的访问时间和修改时间更改为当前时间。

除非提供了 -c 或 -h 选项,否则不存在的 <文件> 将会被创建,内容为空。

如果 <文件> 为 - 则特殊处理,程序将更改与标准输出相关联的文件的时间。

长选项的必选参数对于短选项也是必选的。
  -a                     只更改访问时间
  -c, --no-create        不创建任何文件
  -d, --date=字符串      使用 <字符串> 表示的时间,而非当前时间
  -f                     (被忽略)
  -h, --no-dereference   影响符号链接本身,而非符号链接的目标
                         (当系统支持更改符号链接的时间戳时,此选项才有用)
  -m                     只更改修改时间
  -r, --reference=文件   使用 <文件> 的时间戳,而非当前时间
  -t 时间戳              使用格式为 [[CC]YY]MMDDhhmm[.ss] 的时间戳,而非当前时间
      --time=关键字      修改指定类型的时间:
                           若 <关键字> 是 access、atime 或 use:与 -a 等价
                           若 <关键字> 是 modify 或 mtime:与 -m 等价
      --help        显示此帮助信息并退出
      --version     显示版本信息并退出

请注意,-d 和 -t 选项所接受的时间/日期格式是不同的。

GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告任何翻译错误
完整文档 <https://www.gnu.org/software/coreutils/touch>
或者在本地使用:info '(coreutils) touch invocation'

rm命令:删除文件或目录

rm命令来自英文单词remove的缩写,中文译为"消除",其功能是删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。

rm命令也是一个非常危险的命令,使用的时候要特别小心,尤其是对于新手来说更要格外注意。例如:执行rm -rf /*命令会清除系统中所有的文件,甚至无法恢复。

所以我们在执行过程之前一定要确定好在那个哪个目录以及要删除的什么文件,考虑好之后再敲击Enter键,要时刻保持清醒的脑子。

语法:rm 参数 文件名

常用参数:

bash 复制代码
# 删除文件时会默认进行二次确认,敲击y表示进行确认
rm File.cfg

# 强制删除文件,无需进行二次确认
rm -f File.cfg

# 删除指定目录及其内所有子文件,无需二次确认
rm -rf Dir

# 强制删除当前工作目录内所有以.txt结尾的文件
rm -f *.txt

# 强制清空服务器根目录所有文件(慎用!!!)
rm -rf /*

cd命令:切换目录

cd 命令来自英文词组 change directory 的缩写,其功能是更改当前所处的工作目录,路径 可以是绝对路径,也可以是相对路径,若省略不写则会跳转至当前使用者的家目录。

语法:cd 参数 目录名

常用参数:

# 切换到指定目录
cd /home/test

# 切换到当前用户的家目录
cd ~

# 进入上一级
cd ..

# 返回上一次所在目录
cd -

chmod命令:改变文件或目录权限

chmod 命令来自英文词组 change mode 的缩写,其功能是改变文件或目录权限的命令。

默认只有文件的所有者和管理员可以设置文件权限,普通用户只能管理自己文件的权限属性。

设置权限时可以使用数字法,亦可使用字母表达式,对于目录文件,建议加入-R 参数进 行递归操作,这意味着不仅对于目录本身,而且也对目录内的子文件/目录进行新权限的设定。

语法:chmod 参数 文件/目录名

常用参数:

# 将某个文件的权限设置为775
chmod 775 File.cfg

# 设定某个文件可以让任何人读取
chmod a+r File.cfg
chmod 777 File.cfg

# 设定某个目录及其内部子文件和子目录可以被任何人读取
chmod -R a+r Dir
chmod -R 777 Dir

# 为某个二进制命令的文件新增SUID特殊权限位
chmod u+s /sbin/reboot
相关推荐
加载中loading...16 分钟前
Linux线程安全(二)条件变量实现线程同步
linux·运维·服务器·c语言·1024程序员节
安科瑞刘鸿鹏19 分钟前
校园建筑用电安全监测装置 电气火灾监测预防设备功能介绍
运维·服务器·网络·嵌入式硬件·安全·能源
课堂随想22 分钟前
【libGL error】Autodl云服务器配置ACT的conda虚拟环境生成训练数据时,遇到了libGL相关错误,涉及swrast_dri.so
运维·服务器·conda
画江湖Test1 小时前
SDK如何测试
服务器·sdk
well_fly3 小时前
Ubuntu特殊目录
linux·ubuntu
落落落sss3 小时前
es实现自动补全
大数据·服务器·elasticsearch·搜索引擎·全文检索
大熊程序猿3 小时前
ubuntu 安装k3s
linux·运维·ubuntu
luoqice3 小时前
CentOS 自启动某个应用
linux·运维·服务器
泠山3 小时前
ubuntu增加swap交换空间
linux·运维·ubuntu
JavaOpsPro4 小时前
jenkins部署手册
运维·jenkins·离线部署