ubuntu学习day1
linux常用命令
1. 用户相关
1.1 切换用户
su root #切换到root用户
su user #切换到普通用户
sudo
能赋予普通用户管理者权限,一般不要直接使用root用户进行操作。
1.2 添加用户
useradd 用户名
useradd user1 #添加了用户名为user1的用户
但在ubuntu中想要创建普通用户带自己的目录需要加上-m
,如果创建的普通用户能够进行正常工作还需要给它添加正常功能的解析器。-s
+解析器地址
sudo useradd -m daozhang -s /bin/bash
1.3 设置密码
passwd 用户名
另需注意,只有root用户才可以给其他用户设置简单密码,否则普通用户给自己和其他用户配置密码时只能配置复杂密码。
1.4 删除用户
userdel 用户名
注:删除用户后,其家目录并不会被删除,如果要删除目录,需要 userdel –r 用户名
2. 目录和文件的操作
2.1 查看文件或目录
ls
+ [选项] [目录或文件]
ls -a
显示指定目录下所有子目录与文件(包括隐藏文件)。
ls -a /root/home #显示/root/home下的所有文件
ls -l
以长格式显示文件和目录的详细信息,包括权限、所有者、大小、修改时间等。
ls -lh # -h 与 -l 一起使用时,以更易读的格式显示文件大小(如 KB、MB、GB)。
-t
:按修改时间排序,最新的文件或目录排在前面。
-S
:按文件大小排序,最大的文件或目录排在前面。
-i
:显示文件的 inode 号。
-G
:在输出中使用颜色来区分文件类型(默认情况下, ls 通常会自动使用颜色)
另外在ls -l
中开头是由 10 个字母构成的字符串,其中第一个字符表示文件类型,它可以是下列类型之一:
字符 | 文件类型 |
---|---|
- | 普通文件 |
d | 目录 |
l | 符号链接 |
b | 块设备文件 |
c | 字符设备文件 |
p | 命名管道 |
s | socket 文件 |
后面的 9 个字符表示文件的访问权限,分为 3 组,每组 3位。第一组表示文件创建者的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读、写、执行权限。各权限如下:r(读)、w(写)、x(执行)、_(没有设置权限)
2.2 改变工作目录
cd
+目录名
cd ..
到父目录
cd /
到根目录
cd ~
到用户主目录下~ 与直接执行 cd 效果一样
cd –
到上一次目录
2.3 显示当前工作目录
pwd
显示用户当前所在的目录。
2.4 创建目录
mkdir
+[文件名]
2.5 删除目录
rmdir
+[文件名]
如果使用该命令删除一个非空的目录,则删除失败。
2.6 拷贝文件
cp
+[原文件名]+[拷贝后新文件名](若拷贝到其他目录则是[目录下的新文件名])
cp file1 fil2 #拷贝file1并命名为file2
cp file1 dir/file3 #拷贝file1到dir目录下并命名为file3
-f
若目标目录中存在与源文件同名的文件,则直接覆盖,不提示 。
-i
和-f
相反,当目标文件中存在于源文件同名的文件,copy时系统会提示是否进行覆盖。
-r
如果要拷贝的是一个目录,此时将同时拷贝该目录下的子目录和文件。
2.7 移动文件或目录
mv
+[选项]+ 源文件或目录 +目标文件或目录
移动单一文件
mv file.txt /path/to/destination/ #将 file.txt 移动到 /path/to/destination/ 目录下。
移动多个文件
mv file1.txt file2.txt dir1/ dir2/ /target_directory/ #移动多个文件和目录到目标目录。
-i
交互模式(覆盖前询问确认)
-f
强制覆盖(不询问,直接覆盖)
-n
禁止覆盖(如果目标已存在,不执行移动)
2.8 删除文件或目录
rm
+[选项] +文件或目录
在 linux 中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用 rm 命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。如果删除时没有-r 选项则不会删出目录。
-f
删除过程中不会给出提示。
-i
删除过程中会给出交互式提示。
-r
如果删除的是一个目录,则将该目录下的目录及子目录均删除掉。
2.9 显示目录树形结构
在 ubuntu 需要执行 sudo apt-get install tree
进行安装,以树状图列出目录的内容。
.
├── directory1
│ ├── file1.txt
│ └── file2.txt
├── directory2
│ └── subdirectory
│ └── file3.txt
└── file4.txt
-a
显示所有文件和目录。
-h
显示子目录大小。
-C
在文件和目录清单加上色彩,便于区分各种类型。
-d
显示目录名称而非内容。
-D
列出文件或目录的更改时间。
2.10 改变目录或文件的权限
chmod
+[选项] +模式文件或目录
chmod 命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
权限分类权限分为三种类型:
- 读权限(r):允许读取文件内容或浏览目录。
- 写权限(w):允许修改文件内容或在目录中创建/删除文件。
- 执行权限(x):允许运行文件或进入目录。
权限还分为三类用户:
- 所有者(u):文件或目录的所有者。
- 所属组(g):文件或目录所属用户组的成员。
- 其他用户(o):除了所有者和所属组成员之外的其他用户。
- 文字设定法
添加权限
chmod u+x 文件名 #为文件所有者添加执行权限。
移除权限
chmod o-w 文件名 # 移除其他用户的写权限。
设置权限
chmod g=rw 文件名 #将所属组的权限设置为读写。
同时操作多个用户类别
chmod u+x,g+rx,o-r 文件名 #为所有者添加执行权限,为所属组添加读执行权限,移除其他用户的读权限。
- 八进制模式八进制模式使用数字来表示权限
每个权限类型对应一个数字:
• 读权限(r):4
• 写权限(w):2
• 执行权限(x):1
权限的组合通过数字相加来表示:
• 读写(rw):4 + 2 = 6
• 读执行(rx):4 + 1 = 5
• 读写执行(rwx):4 + 2 + 1 = 7
chmod xyz 文件名 # x表示所有者的权限,y表示所属组的权限,z表示其他用户的权限。
chmod 755 file1
2.11 文件查找
find
+[搜索路径]+ [选项]+ [操作]
-name
按文件名(区分大小写)
find /path -name "filename.txt"
-iname
按文件名(不区分大小写)
find /path -iname "*.jpg" # 查找所有 .jpg 或 .JPG 文件
-type
按文件类型过滤:
符号 | 文件类型 |
---|---|
f | 普通文件 |
d | 目录 |
l | 符号链接 |
find /path -type d # 查找所有目录
-mtime
按修改时间(天):
find /path -mtime +7 # 修改时间超过7天的文件
find /path -mtime -2 # 修改时间在2天内的文件
-a
相当于and,表示只有当所给的条件都满足时,查找条件才满足。
-o
相当于or,表示只要所给的条有一个满足,查找条件就满足。
!
相当于not,表示查找不满足所给条件的文件。
find . -name "file1" -a -type f #在当前目录及其子目录中查找名为 file1 的普通文件
find . -name "file1" -o -name file2 #在当前目录及其子目录中查找文件名是 file1 或 file2 的文件。
find . ! -name file2 #在当前目录及其子目录中查找所有文件名不是 file2 的文件。
*
表示省略一到多个文件名字符
?
表示仅剩略一个文件名字符
[]
表示填入数字查找该前缀命名的范围。
2.12 列出文件系统的整体磁盘空间使用情况
df
+ [选项]+ [文件]
-h
以人们易读的 GB、MB、KB 等格式显示,可以直接显示整个磁盘使用情况。
2.13 显示每个文件和目录的磁盘使用空间
du
[选项] [文件名]
-h
以人们易读的 GB、MB、KB 等格式显示操作发现目录的每一级都显示。