linux shell 目录基本操作
linux shell 目录基本操作
-
pwd:显示当前工作目录
[root@local ~]# pwd /root
-
ls: 显示文件和目录内容
ls -[选项] [目录名]
参数:- a:显示所有隐藏文件
- l:长格式
- i:显示每个文件的索引节点信息
ls -l 显示的信息:
[文件/目录许可] [硬链接数] [所有者] [组] [文件大小] [修改时间] [文件名][root@local ~]# ls -l total 36 drwxr-xr-x 7 root root 4096 Mar 20 10:14 code drwxr-xr-x 8 root root 4096 Dec 1 19:16 hexo drwxr-xr-x 80 root root 4096 Dec 1 18:54 node_modules -rw-r--r-- 1 root root 22699 Dec 1 18:54 package-lock.json
-
cd: 切换当前位置
cd [目录路径名(绝对、相对)]
cd - : 回到刚才访问的工作目录
cd / : 切换到根目录
cd ~ : 切换到用户的个人主目录[root@local /]# cd usr/bin [root@local bin]# pwd /usr/bin [root@local bin]# cd / [root@local /]# pwd / [root@local /]# cd ~ [root@local ~]# pwd /root [root@local ~]# cd - / [root@local /]# pwd /
-
less: 查看文本文件
less [文件名]
在屏幕上显示文件,通过vim实现,使用q退出,返回shell刚执行过命令的下一行 -
more: 查看文本文件
more [文件名]
在屏幕上显示文件,若超出一屏,则使用vim,使用q退出,无法返回原来使用shell的位置 -
cat: 查看文本文件
cat [文件名]
使用标准输出将文件输出在屏幕上 -
file: 查看文件类型
file [文件名][root@local ~]# file package-lock.json package-lock.json: ASCII text
-
tree: 查看文件系统目录结构
tree [-aACdDfFgilnNpqstux] [-I <范本样式>] [-P <范本样式>] [目录...]
参数:- -L:显示目录级别
- -a:显示目录所有内容
- -d:只显示目录
- -f:只显示文件
- 1:只显示一层目录
[root@local ~]# tree -L 1 / / ├── bin -> usr/bin ├── boot ├── dev ├── etc ├── home ├── lib -> usr/lib ├── lib64 -> usr/lib64 ├── lost+found ├── media ├── mnt ├── mysql57-community-release-el7-10.noarch.rpm ├── opt ├── proc ├── root ├── run ├── sbin -> usr/sbin ├── srv ├── sys ├── tmp ├── usr └── var 20 directories, 1 file
文件和目录基本操作
- cp: 复制文件和目录
cp [file1] [file2]
将文件复制到目录
cp [file1] [file2] [file3] directory
将file1复制为file2
参数:- -i 询问是否覆盖已存在的file2文件
- -r 若目标文件夹不存在不会报错,该选项会创建文件夹并复制目录下的所有文件
- mv: 移动、重命名文件和目录
mv [filename1] [filename2]
将文件移动到目录
mv [file1] [file2] [file3] directory
移动目录内的所有文件
mv directory1 directory2
参数:- -f 即使目标文件存在也直接覆盖
- rm: 删除文件和目录
rm [filename]
递归删除目录
rm -r directory
参数:- -r: 直接删除文件,如果是目录的话一次性删除所有的下一级路径和文件
- -f: 不显示询问而直接强制删除
- mkdir: 创建目录
mkdir directory - rmdir: 删除目录
rmdir directory
不常用,删除目录通常用rm -rf firectory
文件访问权限
- chmod: 修改文件、目录的访问权限
文件权限
-rwx r-x r-x
-:文件类型 d:目录,-:文件
rwx:用户权限 读r、写w、执行x
r-x:组权限 读、执行
r-x:所有人权限 读、执行
用二进制表示:
777: 111 111 111 rwx rwx rwx
666: 110 110 110 rw- rw- rw-
700: 111 000 000 rwx --- ---
755: 111 101 101 rwx r-x r-x
参数: - su: 临时转为超级用户和其他用户的命令
su root - chown: 修改文件、目录所有者的命令,只有超级用户才能使用
chown [所有者] [.或:] [组] [文件名/目录名] - chgrp: 修改文件、目录的组所有者的命令
chgrp [组名] [文件名和目录名] - lsattr 显示文件属性
- chattr 修改文件属性
i属性 immutable
a属性 append only
chattr +i/chattr -i 在文件属性中添加/删除i属性,即使超级用户也不能修改和删除文件
chattr +a/chattr -a 在文件属性中添加/删除a属性,可以添加文件内容但即使超级用户也不能删除文件
使用 rm -rf不能删除文件时,使用lsattr查看属性,再用chattr删除i属性再执行
作业控制
- jobs: 显示当前后台运行的shell进程
- ps: 显示进程id
ps: 显示进程id(PID)
ps aux -forest: 显示进程目录的树形结构(包括进程id)
pstree: 仅显示进程的树形结构 - kill: 关闭进程
kill [PID]
系统管理员指令
- users: 显示当前登录的用户
等于 who -q - groups: 显示访问dangqianshell用户所属组的信息,输出值为GROUPS环境变量值
- useradd: 添加用户
useradd [用户名]
passwd [密码] 指定密码 - userdel: 删除用户
userdel [用户名]
userdel -r [用户名] 该用户留有文件不能删除,使用-r可以删除用户主目录并删除用户 - usermod: 修改用户的各种信息
- groupmod: 修改组名或组ID
- id: 显示用户ID,组ID,所属组名。
显示Bash Shell的UID、EUID、GROUPS环境变量值 - lid: 显示用户所属组
lid = list id - who: 显示当前登录的用户目录
who -m: 显示登陆当前shell的用户访问信息
whoami: 显示当前使用shell的用户ID - w: 显示所有登陆当前系统的用户信息
- logname: 显示当前用户的登录名
- su: 临时切换用户
su: 无参数默认切换为root
su [用户名] - sudo: 以超级用户或其他用户的身份执行命令
sudo -u [用户名] [指令] 将root用户转为普通用户执行 - passwd: 用于创建、修改用户密码
- ac: 从/var/log/wtmp文件中查询用户的登陆时间,以小时显示
- last: 从/var/log/wtmp文件中查询所有用户的最后登录时间
- newgrp: 修改/添加自己所属群组,退出当前shell则返回初始化状态
- tty: 显示当前用户的终端
- stty: 显示或修改终端设置
- setterm: 修改终端的配置值
- test: 初始化终端设置及显示终端类型
- setserial: 设置和显示序列端口参数
- getty agetty: 初始化终端的进程
- mesg: 组织其他用户访问自己的终端
mesg y: 允许写入自己的终端(默认)
mesg n: 不允许写入自己的终端 - wall: 向所有在线用户发送消息
- write: 指定用户发送消息
信息与统计
- uname: 显示系统内核信息
- arch: 显示系统结构
=uname -m - lastlog: 浏览/var/log/lstlog文件,并显示所有用户的最后登录时间
- lsof: 显示已经打开的文件目录
参数:- -i 显示已打开的网络套接字文件
- strace: 跟踪命令执行时的系统调用和信号
strace [命令] - ltrace: 跟踪命令执行时的库调用
- nc: 显示TCP/UDP端口连接与监听
nc localhost [端口号]
nc localhost [端口号1-端口号2] 在端口号1-端口号2中检索 - free: 以字节为单位显示内存和缓存用量
- procinfo: 显示/proc文件系统相关信息
- lsdev: 显示已经安装的设备目录
- du: 显示磁盘文件使用情况
du -h: 以kb为单位显示 - df: 显示文件系统的分区使用量
df -h: 以M,G为单位显示 - dmesg: 显示开机时控制台现实的信息
- stat: 显示给出的文件的各种信息
stat [文件名] - vmstat: 显示虚拟内存的统计结果
- netstat: 显示当前网络统计和信息
netstat -lptu: 显示当前打开的端口目录 - uptime: 显示当前运行的时间
- hostname: 显示系统托管名
- hostid: 将托管机器显示为32位16进制数的识别符
- readelf: 显示elf二进制文件的信息
- size: 显示二进制执行文件或存档文件的段大小