本体+选项+参数
ls(列出目录下的内容)
ls [-a -l -s] [路径]
ls 平铺形式,列出当前工作目录下的内容
-a all 表示全部(以.开头文件表示隐藏文件,通过-a才能看见)
-l 竖向排列展示
-h 显示文件大小 单独使用没有用
可以组合使用
-a -l ==-la ==-l -a ==-al 竖向展示全部
-h和-l一起使用 竖向展示文件大小
混合使用前后顺序不影响
cd(切换工作目录)
change directory 更改目录
cd+[参数]
例如 :
cd use/图片(相对路径)
cd /home/bob/usr/图片(绝对路径)
当前目录 cd ./usr == cd usr
返回上一级 cd .. 返回上一级的上一级cd ../..
返回home/bob 直接cd 或者 cd / 或者 cd ~ 或着 cd /home/bob
pwd(查看当前工作目录)
print work directory 查看当前目录
无选项 无参数 直接pwd
mkdir(创建新的目录和文件夹)
make directory
mkdir [-p] [路径](路径必填)
例子:
mkdir bob1(在当前目录创建一个名为“bob1”的文件夹)
mkdir /home/bob/bob1 (在home的bob里创建一个名为“bob1”的文件夹)
带上-p可以创建多层级目录
如 : mkpir -p ~/bob/good/666(创建good,再在good创建666)
clear(清屏) or ctrl+l
touch(创建文件)
无选项,参数必填
表示要创建的文件路径(跟多个参数可以同时创建多个文件)
例如 :
表示在当前目录创建 touch test.txt
表示在某个文件夹创建 touch bob1/text.txt
cat(查看文件内容)
没有选项,必填参数
表示被查看的文件的路径
例如 :
cat ~/bob1/text.txt
more(查看文件内容)
没有选项,必填参数表示路径
与cat的不同:
cat:把内容全部展示
more:支持翻页,可以一页一页展示(空格翻页,q退出查看)
例如:
more /etc/services
cp(复制文件文件夹)
copy
cp [-r] 参数1 参数2
-r可选(复制文件夹要带上)(否则显示“略过目录”) 参数一表示被复制 参数二表示复制
例如:
cp ./bob1/text.txt ./ppp
cp bob1 ppp
mv(移动文件文件夹)
move
mv 参数1 参数2
用法同cp,但是没有-r
如果存在相同名字则内容覆盖
如果参数二不存在,那么参数一移动过去重命名为参数二
rm(删除文件文件夹)
remove
rm [-r -f] 参数1 参数2 ....(无限多)//同时删除多个
-r表示删除文件夹(同cp)
-f表示force(强制删除)(不弹出确认信息)
* 表示通配符
text* 表示所有以text开头的内容
*text 表示所有以text结尾的内容
*text* 表示所有包含text的内容
which(查找命令的程序文件存放位置)
which cd
find(按文件名查找文件)
一般通过su - root输入密码123456(用户密码)获取管理员权限再搜索
exit退出管理员身份
ctrl+c停止查找
find 起始路径 -name 被查找文件名
可结合通配符
例如:
find / -name 666.text(在~为始,寻找名为666.txt的文件)
find 起始路径 -size +-n[kMG]
+-表示大于和小于
n表示数字大小
kMG表示大小单位 k(小写)==kb M(大写)==MB G(大写)==GB
例如:
查找小于10kb的文件 find / -size -10k
grep(通过关键字寻找命令行)
grep [-n] 关键字 文件路径
-n:可选,表示结果中显示匹配的行的行号 也就是关键字在第几行
关键字 必填 表示过滤的关键字 建议带上“”,尤其有空格和特殊符号的时候
路径 必填
例如:
grep "123" ppp/123.txt
显示: 123123
1. **查找包含特定单词的行**:使用 `-w` 选项确保只匹配整个单词,而不是部分单词。
```bash
grep -w "pattern" file.txt
```
2. **统计匹配行的数量**:使用 `-c` 选项。
```bash
grep -c "pattern" file.txt
```
3. **仅显示匹配的行数**:使用 `-o` 选项。
```bash
grep -o "pattern" file.txt
```
4. **忽略大小写**:使用 `-i` 选项。
```bash
grep -i "pattern" file.txt
```
5. **递归搜索**:在目录及其子目录中搜索匹配的文件,使用 `-r` 或 `-R` 选项。
```bash
grep -r "pattern" directory/
```
6. **反向匹配**:显示不匹配模式的行,使用 `-v` 选项。
```bash
grep -v "pattern" file.txt
```
7. **显示匹配行的上下文**:使用 `-A`、`-B` 或 `-C` 选项,可指定匹配行的上下文行数。
```bash
grep -A 2 "pattern" file.txt # 显示匹配行及其后两行的内容
```
8. **从多个文件中搜索**:可以指定多个文件进行搜索。
```bash
grep "pattern" file1.txt file2.txt
```
wc(统计文件行数,单词数量)
wc [-c -m -l -w](选带) 文件路径
不带三个数字分别表示 行数 单词数量 字节数
-c 统计bytes数量
-m 统计字符数量 数值上相当于-c
-l 统计行数
-w 统计单词数量
管道符|(把左边命令的结果作为右边命令的输入)
|
例如:
cat text.txt | grep 123 (text.txt里123存在的程序行)
ls -l | wc -w(当前目录有多少单词)
嵌套 cat text.txt | grep 123 | grep 456(同时存在123和456的代码行)
echo(输出指定内容)
echo 输出内容
例如:
echo hello world 建议带上“”
显示 hello world
反引号`(输出工作目录)
两个`引起来,表示里面的内容的工作目录
例如:
echo `pwd`
显示 /home/bob
重定向符>和>>(覆盖和追加)
>将左侧命令结果覆盖到右侧
>>将左侧命令结果追加到右侧指定文件
例如:
echo "hello" > bob/666.txt 清除666.txt的内容,换成“hello”
echo "hello" >> bob/666.txt 在原来内容的基础上添加“hello”
tail(查看文件尾部内容,跟踪文件的最新更改)
tail [-f -num] 路径
-f 表示持续跟踪,实时显示文件变化,通过ctrl+c结束跟踪
-num(具体数字) 表示查看尾部多少行,不输入默认10行
例如:
tail -f bob1/666.txt 实时跟踪666.txt的变化
tail -2 bob1/666.txt 展示出666.txt的后两行内容
vim编辑器(编辑器)
vim 文件路径
如果路径不存在,创造新文件后再编辑
如果存在,直接编辑
初始都是命令模式,按“i”进入输入模式 按“esc”退出输入模式
在命令模式下,按“:”进入底线命令模式,输入命令后按enter运行
命令模式下快捷键:
i 在光标位置进入输入模式
a 在光标之后进入输入模式
I 在当前行的开头进入输入模式
A 在当前行的结尾进入输入模式
o 在当前光标的下一行进入输入模式
O 在当当前光标的下一行进入输入模式
esc 任何情况下回到命令模式
su和exit和sudo(获取权限和退出)
使用 su - root并输入密码可以进入管理员身份,root不带默认root
输入exit退出
进入管理员身份后进入普通用户身份将不再需要密码
使用sudo为普通的命令授权,临时以root身份运行,但是前提是为用户配置sudo认证
配置sudo认证:
切换到root,执行visudo, 会自动打开/etc/sudoers,
在文件的最后添加“用户名 ALL =(ALL) (按一下Tab)NOPASSWD:ALL”
例如:
sudo mkdir
用户管理
创建用户 useradd [-g -d] 用户名
-g指定用户的组,默认创建同名组加入
-d指定用户HOME路径,默认/home/用户名
例如: useradd bob6(相当于 useradd bob6 -g bob6 -d /home/bob6)
useradd bob6 -g bob -d /home/bobobo
删除用户 userdel [-r] 用户名
-r删除home目录,不使用则保留home目录
例如: userdel -r bob6
查看用户所属组 id 用户名
例如: id bob6
直接id表示查看当前用户信息
修改用户所属组 usermod -aG 用户组 用户名 将指定用户加入指定用户组
例如: usermod -aG bob bob6 把bob6加入到bob组里面
查看系统有哪些用户 getent passwd
展示的7个信息分别是:用户名 密码(x) 用户id 组id 描述信息 home目录 执行终端
查看系统有哪些组 getent group
权限信息
口rwxrwxrwx
口==- 文件
口==d 文件夹
口==l 软链接
三个rwx分别表示所属用户权限,所属用户组权限,其他用户权限
r 读权限 ls等
w 写权限 创建删除改名等
x 执行权限 cd等
chmod(修改权限信息)
使用chmod命令修改文件和文件夹的权限信息
但是只有所属用户和root用户可以修改
chmod [-R](文件夹) 权限 文件或文件夹
例如:
chmod u=rwx,g=rw,o=x hello.txt(user group other)没写就是-
快捷写法:
chmod 751 hello.txt
0:---
1:--x
2:-w-
3:-wx
4:r--
5:r-x
6:rw-
7:rwx
chown(修改文件文件夹的所属用户和用户组)
chown [-R] [用户] [:] [用户名] 文件或文件夹
-R 文件夹
例如: chown bob : bob 987/yyy.txt
chown bob 987/yyy.txt bob作用户名
只能以root身份运行
ln(创建软链接)
软链接相当于快捷方式
ln -s 参数1 参数2
参数1: 被链接的文件或文件夹
参数2: 要连接去的目的地
必须使用绝对路径
yum(安装程序)
yum [-y] [install | remove | search] 软件名称
安装 卸载 搜索
-y:不需要确认
systemctl(应用控制)
systemctl [start | stop | status | enanble | disable ] 服务名
开 关 状态 开机自启 开机不自启
date(显示时间)
date [-d] + [格式化字符串]
例如:
date “+%Y-%m-%d %H:%M:%S”
%Y 年份
%y 年份后两位
%M 月份
%d 日
%H 小时
%M 分钟
%S 秒
-d 主要用于日期计算
例如:
date -d "+1 day" "+...."
修改时区:
root
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/shanghai etc/localtime
自动校准时间:
ntp程序
yum -y install ntp
systemctl start ntpd
systemctl enable ntpd
hostname(查看主机名)
hostname set-hostname [名字] (重新为电脑命名)
ifconfig(查看ip)
1
ping(检查com是否连通)
ping [-c num] ip或主机名
-c 被检查的次数 没有-c就是无限制
例如:
ping -c 3 baidu.com
wget(下载网络文件)
wget [-b] 连接
-b 后台下载 日志写到wget-log
cyrl(发送网络请求)
curl [-O ] 连接 (大写的哦)
-O: 用于下载文件 curl -O 相当于 wget
nmap (查看端口)
nmap 127.0.0.1
查看自身电脑的端口使用情况
注意: 需下载nmap软件
netstat(查看指定端口的占用情况)
例如:netstat -anp | grep 6000
查看端口6000的被占用情况
ps(查看进程)
ps [-e -f]
-e 查看全部
-f 完全格式化
例如:
ps -ef
kill (关闭进程)
kill [-9] 进程id
-9:强制
例如 :
kill -9 12345
top(查看内存使用情况)
top直接使用
-p 只显示某个进程 *+id
-d 设置刷新时间 *top -d 3
-c 显示产生进程的完整命令
-n 指定刷新次数然后退出 *tap -n 3
-i 不显示闲置idle和无用zombie
-b 输出到文件里 *top -b -n 3 > hello.txt
-u 查找特定用户的进程 *top -u bob
$(取环境变量)
例如:
echo $PWD
echo $PATH
ecport(自行设置环境变量)
例如:export zozosuo=ZPS
echo $zozosuo
显示:ZPS
但是只是临时,关机后不再存在
vi ~/.bashrc
末尾加上 export zozosuo=ZPS
仅仅对当前用户存在,且永久
以root配置
vi /etc/profile
末尾加上 export zozosuo=ZPS
source /etc/profile
对所有用户都有效,且永久
sz和rz(下载到win和win上传到linux)
sz 文件名
把Linux传到win桌面fsdownload
rz 直接回车 (上传速度非常慢)
浏览选择文件上传到Linux
tar(压缩和解压缩gzip和tar)
tar [-c -v -x -f -z -C] 参数一 参数二 。。。。(可多参数)
-c 创建压缩文件
-v 查看进度
-x 解压模式
-f 要创建的文件, 或要解压的文件 -f必须在所有选项最后一个、
-z gzip模式 不用默认tarball格式 如果使用要在第一个
-C 压缩目的地 用于解压模式
例如:
压缩
tar -cvf test.tar 1.txt 2.txt 把1.txt和2.txt压缩到text.tar
tae -zcvf test.tar.gz 1.txt 2.txt 把1.txt和2.txt压缩到text.tar.gz
解压
tar -xvf test.tar 解压到当前目录
tar -xvf test.tar -C/home/bob 解压到指定目录
tar -zxvf test.tar.gz -C/home/bob 解压到指定目录
zip(压缩zip)
zip [-r] 参数一 参数二 。。。
-r 被压缩包含文件夹
例如: zip test.zip a.txt b.txt 把两个文件压缩为test.zip
zip -r test.zip test bob a.txt 把两个文件夹和一个文件压缩为test.zip
unzip(解压zip)
unzip [-d] 参数
-d : 指定要解压去的位置
参数 : 被解压的zip
unzip test.zip 解压test.zip到当前目录
unzip yest.zip -d /home/bob
rev(字符反转)
grep "123" | rev
321