目录
[1. man手册](#1. man手册)
[2. find按文件名称](#2. find按文件名称)
[3. find按文件类型](#3. find按文件类型)
[4. date显示时间](#4. date显示时间)
[5. cal显示日历](#5. cal显示日历)
[6. du文件大小](#6. du文件大小)
[7. ln链接](#7. ln链接)
[8. 软连接,硬链接区别](#8. 软连接,硬链接区别)
[9. 文本查找](#9. 文本查找)
[10. wc统计文本(计算文件的Bytes数、字数或列数)](#10. wc统计文本(计算文件的Bytes数、字数或列数))
[11. 查看文本内容:](#11. 查看文本内容:)
[12. 控制台输出](#12. 控制台输出)
[13. 命令别名](#13. 命令别名)
[14. 重定向](#14. 重定向)
[15. ps当前用户进程](#15. ps当前用户进程)
[16. kill终止进程](#16. kill终止进程)
[17. top查看进程的信息](#17. top查看进程的信息)
[18. 用户分类](#18. 用户分类)
[19. 新建用户](#19. 新建用户)
[20. id查看用户ID](#20. id查看用户ID)
[21. chown改变文件的所属](#21. chown改变文件的所属)
[22. chmod改变文件的权限](#22. chmod改变文件的权限)
1. man手册
是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
man 【选项】命令名
案例:
man ls 通过man手册查看ls
man man
man shutdown
2. find按文件名称
find 【查找的路径】【选项】【参数】
选项:
-name:按名称查找
-iname:忽略大小写
find ./ -name "*.txt" 当前目录下所有以.txt结尾的文件( find 查找的位置 选项 参数)
find / -name "*.txt" 根目录下所有以.txt结尾的文件
find ./ -name "a*" 当前目录下所有以a开头的文件
find ./ -iname "a*" 当前目录下所有以a开头的文件(忽略大小写)
3. find按文件类型
文件类型分类
d 目录
- 普通文件(纯文本文档ASCII、二进制文件、数据格式文件)
l 链接文件
c 字符设备文件
b 块设备文件 vda(v可以为s/h, s固态硬盘 h机械硬盘)
s 套接字
p 管道文件
案例:
find / -type p 查找当前目录下的管道文件
find ./ -type f 查找当前目录下的普通文件
4. date显示时间
date +"%Y-%m-%d %H:%M:%S" (格式化显示时间)
5. cal显示日历
cal 【选项】【月份】【年份】
cal 显示当年当月的日历
cal 2022 显示2022年的日历
cal 7 2023 显示2023年7月的日历(先写月)
cal -j 当年的第几天
cal -j 2024 2024年第几天日历
6. du文件大小
du 【选项】【参数】
du file 查看文件大小 du demo1.tar
du -h ./ 文件大小,带单位 du -h demo1.tar
du -sh ./ 总计(统计)
7. ln链接
ln【选项】【参数】
选项:
-s:创建软链接
软链接
ln -s 小白兔 小兔兔 (小白兔是源文件 小兔兔是创建的软链接文件)
touch a1
vim a1 编辑a1文件 ( 1.敲esc 2.再敲英文:3.在冒号后敲wq 4.最后回车)
cat a1 查看a1文件
ln -s a1 a2 给a1文件创建软链接
cat a2
vim a2
rm a2 删除软连接,不影响源文件cat a1
ll 相当于ls -l
rm a1 源文件删除,链接文件不可用
cat a2
touch a1 链接可用
硬链接 接数改变
touch a3
vim a3
cat a3
ln a3 a4
ls
ls -l
ln a4 a5
ls -i 查看文件的inode号
ls -ai
ls -ai /
8. 软连接,硬链接区别
软链接可以跨磁盘,硬链接不可以
软连接创建方式 ln -s 被链接文件 链接文件
(1)软链接是一个链接文件;
(2)软链接有着自己的 inode 号(文件编号);
(3)软链接有自己的文件属性及权限等;
(4)可对不存在的文件或目录创建软链接;
(5)软链接可交叉文件系统;
(6)软链接可对文件或目录创建;
(7)创建软链接时,链接计数 i_nlink 不会增加;
(8)删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
硬链接创建方式 ln 被链接文件 链接文件
(1)文件有相同的 inode 及 data block;
(2)只能对已存在的文件进行创建;
(3)不能交叉文件系统进行硬链接的创建;
(4)不能对目录进行创建,只可对文件创建;
(5)删除或添加一个硬链接文件并不影响其他有相同 inode 号的文件,只是减少或增加链接计数,当链接计数为0,系统将彻底删除该文件。
9. 文本查找
是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
grep "root" /etc/passwd 搜索/etc/passwd文件中所有包含字符串 "root" 的行
grep -n "root" /etc/passwd -n显示行数
grep "a" /etc/passwd
grep -v "a" /etc/passwd 跟a无关(-v反向过滤)
grep -i "a" /etc/passwd -i忽略大小写
ls | grep ".txt" 后缀为.txt的文件
10. wc统计文本(计算文件的Bytes数、字数或列数)
-c: 只显示Bytes数
-l: 只显示列数
-w: 只显示字数
wc /etc/passwd 统计当前系统中一共有多少账户
wc -l /etc/passwd
11. 查看文本内容:
cat查看文本内容(适合小的)
cat /etc/passwd 用户信息文件,用户列表(用户名、用户密码占位符、用户编号uid、用户所在组的编号gid、用户备注说明、用户家目录位置、用户的登陆方式)
cat -n /etc/passwd 加行号
more查看文本内容 (大的)more /etc/passwd 看到最后一行会自动退出 Q退出
less查看文本内容(大的)less etc/passwd 不会自动退出
head /etc/passwd 头10行head -2 /etc/passwd 头两行
tail /etc/passwd 末尾10行tail -3 /etc/passwd 末尾3行
12. 控制台输出
echo hello world 2个参
echo "hello world" 1个参
13. 命令别名
alias kk="ls -ail" 创建别名kk
kk 使用
alias -p 系统自创的别名,显示已有的别名
unalias kk 删除别名kk
unalias ls 删除ls
alias ls="ls --color=auto" 创建ls
14. 重定向
ls > c2
cat c2
echo hello > c2 覆盖重定向
cat c2
echo hello >>c2 追加重定向
cat c2
dshjhfs > c2 错误快速置空文件
cat c2
dshjhfs 2> c3 错误覆盖重定向
cat c3
dshjhfs 2>> c3 错误追加重定向
dshjhfs 2>> c3
cat c3
System.out == stdout
15. ps当前用户进程
进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。
用于报告当前系统的进程状态。
ps (进程编号、使用的终端、执行时间、命令/程序)
ps -aux (用户、进程编号、cpu使用率、内存使用率、虚拟内存的大小、真实内存的大小、终端、状态、启动时间、运行时长)
ps -aux | grep bash 过滤出要查看的进程
16. kill终止进程
kill 进程编号
kill -9 进程编号
killal 文件(a.out)
17. top查看进程的信息
top 【选项】【参数】
top (5s中自动刷新一次) Q键退出
操作系统负载查看
uptime 现在时间、系统已经运行了多长时间、目前有多少登录用户、系统在过去的1、5、15分钟内的平均负载(load average)
free 显示当前系统未使用的和已使用的内存数目
mpstate CPU核状态
ifstat 网卡网络状态
df 查看磁盘的使用率
进程管理
对于shell来说执行程序产生的进程分为前台进程和后台进程。
不占终端的进程: 后台进程
占终端的进程: 前台进程
变为后台进程 ,在执行命令后加**&**
僵尸进程(zombie): 无父进程
18. 用户分类
root 用户ID:0 拥有任何权限
程序用户 用户ID:0<user_id<1000 没有家目录,不能登陆系统nologin,管理程序,管理权限
普通用户 用户ID:1000+ 能登陆系统
19. 新建用户
adduser 或 useradd
adduser tangsanzang 添加用户
ls /home/
ls -l /home/
groupadd xitianqujing 创建组xitianqujingcat /etc/group 查看组
useradd -g xitianqujing sunwukong 添加用户和所属组
useradd -g xitianqujing zhubajie s 添加用户和所属组
cat /etc/passwd
usermod -g xitianqujing tangsanzang 修改tangsanzang的组
20. id查看用户ID
id tangsanzang
21. chown改变文件的所属
touch a.txt 创建a.txt文件
chown zhubajie a.txt 修改a.txt的所属人为zhubajie
ll ls -l的别名,用于列出当前目录下的所有文件和详细信息
chown tangsanzang:root a.txt 修改 (:前是所属人,:后是所属组)
chown -R tangsanzang:xitianqujing dir1 修改文件夹所属人和所属组
22. chmod改变文件的权限
r 读4 w 写2 x 执行1 rwx ====>7
所属人(u ) 所属组(g ) 其他人(o) rwx 0-7
chmod u-w bbbb bbbb文件的所属人取消写(w)权限
chmod g+x bbbb bbbb文件的所属组增加执行(x)权限
chmod u=rwx bbbb 修改bbbb文件的所属人权限为rwx
chmod 000 bbbb 只读权限