4 解锁 Linux 操作新姿势:man、grep、tar ,创建用户及添加权限等 10 大实用命令详解

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


目录

[1. man - 查看命令手册](#1. man - 查看命令手册)

[2. grep - 文本搜索工具](#2. grep - 文本搜索工具)

管道符和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)命令(重点))

8tar指令(重要)

[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 搜索包含 errorError 的行)。

  • -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 添加用户和修改用户权限

一、添加新用户

  1. ‌**使用adduser命令(交互式推荐)**‌ 执行命令后会自动创建家目录、用户组,并提示设置密码及其他信息:

sudo adduser <用户名>

示例:sudo adduser user01会引导输入密码及可选信息。

12 授予sudo权限
  1. 通过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下是有的,而且效果不能说大差不差只能说一毛一样。

感谢每一个观看本篇文章的朋友,更多精彩敬请期待:小董 不懂 *( ̄▽ ̄)°★*


相关推荐
A小辣椒14 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒18 小时前
TShark:基础知识
linux
AlfredZhao20 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux