Hellow! 铁子们,书继续接上文本文继续介绍Linux下一些其他实用命令的介绍

目录
[1. man - 查看命令手册](#1. man - 查看命令手册)
[2. grep - 文本搜索工具](#2. grep - 文本搜索工具)
[. history - 查看命令历史](#. history - 查看命令历史)
[5. which&whereis](#5. which&whereis)
[6 zip/unzip指令](#6 zip/unzip指令)
[7 rz(receive)//sz(send)命令(重点)](#7 rz(receive)//sz(send)命令(重点))
[9 uname‒r指令](#9 uname‒r指令)
[10 echo与重定向符 >& >>](#10 echo与重定向符 >& >>)
[11 添加用户和修改用户权限](#11 添加用户和修改用户权限)
[12 授予sudo权限](#12 授予sudo权限)
1. man
- 查看命令手册
功能 :显示命令的详细帮助手册(Manual),包含功能、选项、示例等。 操作 :手册按页显示,按 Space
翻页,q
退出 ,/关键词
搜索内容。
• -k根据关键字搜索联机帮助
• num 只在第num章节查找
• -a 将所有章节的都显⽰出来,⽐如man printf它缺省从第⼀章开始搜索,知道就停⽌,⽤a选项,当按下q退出,他会继续往后⾯搜索,直到所有章节都搜索完毕 解释⼀下:man⼿册分为9章(不同系统可能会有差别)
• 1是普通的命令
• 2是系统调⽤,如open,write之类的(通过这个,⾄少可以很⽅便的查到调⽤这个函数,需要加什么 头⽂件)
• 3是库函数,如printf,fread
4是特殊⽂件,也就是/dev下的各种设备⽂件
• 5是指⽂件的格式,⽐如passwd,就会说明这个⽂件中各个字段的含义
• 6是给游戏留的,由各个游戏⾃⼰定义
• 7是附件还有⼀些变量,⽐如像environ这种全局变量在这⾥就有说明
• 8是系统管理⽤的命令,这些命令只能由root使⽤,如ifconfig
whb@bite-alicloud test\]$ man printf # 查看printf指令(没错,printf也是⼀个指令) 1 \[whb@bite-alicloud test\]$ man fork # 查看系统调⽤,默认没有这个指令,man就⾃动 去2号⼿册查找 \[whb@-alicloud test\]$ man 2 frok # 查看系统调⽤ \[whb@-alicloud test\]$ man 3 printf # 查看C库函数 \[whb@-alicloud test\]$ man 7 signal # 查看变量 \[whb@-alicloud test\]$ man 7 environ \[whb@-alicloud test\]$ man man # 查看man⼿册⾃⼰
进入手册页面使用 /搜索手册中的相关词,比如搜索return value这几个单词 :/return value 然后回车即可

2. grep
- 文本搜索工具
grep [选项] 搜寻字符串 ⽂件 功能: 在⽂件中搜索字符串,将找到的⾏打印出来 常用选项:
-
-i
:忽略大小写(如grep -i "error" log.txt
搜索包含error
或Error
的行)。 -
-r
:递归搜索目录下的所有文件(grep -r "password" /etc
搜索/etc
目录下含password
的文件)。 -
-n
:显示匹配行的行号。 -
-v
:反向匹配,显示不包含关键词的行。
whb@alicloud test\]$ cat temp.txt abcd ABCD hello bite 1234 #基本查找 \[whb@alicloud test\]$ grep "abcd" temp.txt abcd # 忽略⼤⼩写的不同,所以⼤⼩写视为相同 \[whb@alicloud test\]$ grep -i "abcd" temp.txt abcd ABCD # 顺便输出⾏号 \[whb@alicloud test\]$ grep -n "abcd" temp.txt 1:abcd \[whb@alicloud test\]$ grep -ni "abcd" temp.txt 1:abcd 2:ABCD # 反向选择,亦即显⽰出没有 '搜寻字符串' 内容的那⼀⾏ \[whb@alicloud test\]$ grep -v "abcd" temp.txt ABCD hello bite 1234 \[whb@alicloud test\]$ grep -vn "abcd" temp.txt 2:ABCD 3:hello 4:bite 5:1234 \[whb@alicloud test\]$ grep -vni "abcd" temp.txt 3:hello 4:bite 5:1234
管道符和grep配合使用
cxk@iZbp1eohssncs8onmdq5v3Z:~$ cat t.txt
asdasfasfa
afsf
qr
qwqw
asfasfas
cxk@iZbp1eohssncs8onmdq5v3Z:~$ cat t.txt | grep qw #把cat输出重定向到grep命令中去,输出有qw字符串的行。
qwqw
. history
- 查看命令历史
功能 :显示当前用户执行过的命令历史记录(默认保存最近 1000 条)。 常用操作:
-
执行历史命令:按
↑
键向上翻阅,或用!编号
执行对应编号的命令(如!123
执行历史中第 123 条命令)。 -
搜索历史命令:按
Ctrl+R
后输入关键词,匹配到后按Enter
执行。 -
清除历史:
history -c
清空当前会话的命令历史(永久清除需删除~/.bash_history
文件)。
这些命令覆盖了 Ubuntu 日常使用中的大部分场景,熟练掌握后能显著提升终端操作效率。如需更深入的用法,可通过 man 命令名
查看官方手册。
5. which&whereis
which:
功能:搜索系统指定的命令 举例:
whb@alicloud test\]$ which ls alias ls='ls --color=auto' /usr/bin/ls \[whb@alicloud test\]$ which pwd /usr/bin/pwd
whereis: 功能:⽤于找到程序的源、⼆进制⽂件或⼿册 举例:
whb@-alicloud test\]$ whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz \[whb@-alicloud test\]$ whereis libc.so libc: /usr/lib64/libc.so /usr/lib64/libc.a /usr/share/man/man7/libc.7.gz
6 zip/unzip指令
语法: zip 压缩⽂件.zip ⽬录或⽂件 功能:将⽬录或⽂件压缩成zip格式 常⽤选项
•-r:递归处理,将指定⽬录下的所有⽂件和⼦⽬录⼀并处理 举例
将test2⽬录压缩: zip test2.zip test2/* #被压缩的文件名后缀为.zip
解压到tmp⽬录: unzip test2.zip -d /tmp
7 rz(receive)//sz(send)命令(重点)
没有命令的可以下载,如centos系统:sudo yum/apt install -y lrzlz
rz :从windows拖拽文件到Linux中
sz 文件名:从Linux把指定文件传到windows中,不过一般打包之后传比较快
8tar指令(重要)
打包/解包,不打开它,直接看内容 语法: tar [-cxtzjvf] ⽂件与⽬录 .... 参数:
• -c:建⽴⼀个压缩⽂件的参数指令(create的意思);
• -x:解开⼀个压缩⽂件的参数指令!
• -t:查看arfile⾥⾯的⽂件!
• -z:是否同时具有gzip的属性亦即是否需要⽤gzip压缩
• -j:是否同时具有bzip2的属性亦即是否需要⽤bzip2压缩
• -v:压缩的过程中显⽰⽂件!这个常⽤,但不建议⽤在背景执⾏过程!
• -f:使⽤档名,请留意,在f之后要⽴即接档名喔!不要再加参数!
• -C:解压到指定⽬录
案例: 范例⼀:将整个/etc⽬录下的⽂件全部打包成为/tmp/etc.tar
[root@linux ~]$ tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!
[root@linux ~]$ tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]$ tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
特别注意,在参数f之后的⽂件档名是⾃⼰取的,我们习惯上都⽤.tar来作为辨识。 如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tarfile〜 如果加j参数,则以.tar.bz2来作为附档名啊〜
范例⼆:查阅上述/tmp/etc.tar.gz⽂件内有哪些⽂件
root@linux \~\]$ tar -ztvf /tmp/etc.tar.gz
由於我们使⽤gzip压缩,所以要查阅该tar file内的⽂件时,就得要加上z这个参数了!这很重要的。使用什么压缩选项就加什么压缩选项
范例三:把压缩包解压缩
解压缩到当前目录
cxk@iZbp1eohssncs8onmdq5v3Z:~$ ls
l Linux myd1 scott_data.sql test.tar t.txt yyy
cxk@iZbp1eohssncs8onmdq5v3Z:~$ tar -xzvf test.tar #把当前压缩报解压到当前文件目录,使用什么压缩
#选项就加什么压缩选项解压
myd1/
myd1/ddd/
myd1/ddd/t.txt
myd1/ddd/ddd/
解压缩到指定目录
cxk@iZbp1eohssncs8onmdq5v3Z:~$ tar -xzvf test.tar -C ./myd1# -C路径选项 后面接路径(目录)
yyy/
yyy/r
yyy/tt/
yyy/tt/t.txt
yyy/tt/t2
yyy/tt/myd/
yyy/tt/myd/t.txt
yyy/tt/myd/ddd/
cxk@iZbp1eohssncs8onmdq5v3Z:~$ ls
l Linux myd1 scott_data.sql test.tar t.txt yyy
范例四:Linux机器互传压缩包
scp 压缩包名称 用户名@对方主机的公网ip:对方主机的路径(目录)
如:scp t.tar cxk@11.11.11:/home/cxk/h
9 uname‒r指令
语法:uname[选项] 功能:uname⽤来获取电脑和操作系统的相关信息。 补充说明:uname可显⽰linux主机所⽤的操作系统的版本、硬件的名称等基本信息。 常⽤选项:
• -a或‒all详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理 器类型,硬件平台类型,操作系统名称
10 echo与重定向符 >& >>
echo命令类似于pritf的功能,把后面所有的内容当做字符串输出的标准输出文件中即屏幕。
cxk@iZbp1eohssncs8onmdq5v3Z:~$ echo lll
lll
#把echo要输出的字符串重定向输出到指定文件中,如果文件不存在则创建,如果存在且文件有内容则清空
>文件名可以快速清空文件内容或者创建文件
cxk@iZbp1eohssncs8onmdq5v3Z:~$ echo lllfff > t.txt
cxk@iZbp1eohssncs8onmdq5v3Z:~$ vim t.txt
#也是重定向输出到指定文件中但是不清空而是追加
cxk@iZbp1eohssncs8onmdq5v3Z:~$ echo lllfff >> t.txt
cxk@iZbp1eohssncs8onmdq5v3Z:~$ vim t.txt
11 添加用户和修改用户权限
一、添加新用户
- **使用
adduser
命令(交互式推荐)** 执行命令后会自动创建家目录、用户组,并提示设置密码及其他信息:
sudo adduser <用户名>
示例:sudo adduser user01
会引导输入密码及可选信息。
12 授予sudo权限
- 通过
usermod
添加到sudo组 这是最简便的方法,将用户加入sudo
组即可获得权限:
sudo usermod -aG sudo <用户名> # -aG表示追加到组
验证权限:sudo whoami
应返回root
。
2 .直接编辑/etc/sudoers
文件 若需更精细控制权限,可手动修改配置文件:
sudo visudo # 安全编辑工具
在文件中添加行:
<用户名> ALL=(ALL:ALL) ALL
保存后生效。
关于指令的理解
指令就是指定路径下的可执行程序(which命令就可以查看在哪个路径下),当输入对应的指令就会执行对应的程序,然后把结果输出到标准输出文件,所有指令的输出也可以重定向比如:
#把ls指令的结果重定向输出到指定文件中
cxk@iZbp1eohssncs8onmdq5v3Z:~$ ls -l > t.txt
cxk@iZbp1eohssncs8onmdq5v3Z:~$ vim t.txt
本期收录于博主的专栏------Linux专栏,其实后面还有更多的指令嘿嘿,当然还有几个有趣的指令的,黑客帝国知道吧,里面有一幕是电脑界面有一个炫酷的动画,其实Linux下是有的,而且效果不能说大差不差只能说一毛一样。
感谢每一个观看本篇文章的朋友,更多精彩敬请期待:小董 不懂 *( ̄▽ ̄)°★*