linux的指令终章与权限之用户权限(3)
1.prep用处过滤关键字即只留下含有关键字的代码行。用法grep 关键字 普通文件这里写*就代表在当前目录的所有普通文件找ubuntufengyouyinli:~/lesson4$ cat test.c #includestdio.h int main() { int a 10; int b 20; printf(%d,a b); return 0; } ubuntufengyouyinli:~/lesson4$ grep a test.c int main() int a 10; printf(%d,a b); //这里只打印了有a的代码行-n 报出关键字所在的行数ubuntufengyouyinli:~/lesson4$ grep -n a test.c 2:int main() 4:int a 10; 6:printf(%d,a b);-v 除去含关键字的行即只保留无关键字的行ubuntufengyouyinli:~/lesson4$ grep -v a test.c #includestdio.h { int b 20; return 0; }-i 关键字有字符时大小字符都匹配ubuntufengyouyinli:~/lesson4$ cat test.c #includestdio.h int main() { int a 10; int b 20; printf(%d,a b); int A 10; int B 20; printf(%d,A B); return 0; } ubuntufengyouyinli:~/lesson4$ grep -i a test.c int main() int a 10; printf(%d,a b); int A 10; printf(%d,A B);2.打包和压缩打包文件合并用于防止文件丢失。压缩减少文件体积用于节省存储空间。在网络传输时可以有效减少网络传输所用的时间。后续对打包和压缩暂时不做区分。压缩的两种文件zip和tarzip写法zip -r 压缩包名字.zip 被压缩的文件的路径如果不是普通文件或空目录就要加-r递归压缩不然只会压缩最表一层的文件这里是默认压缩到当前目录下ubuntufengyouyinli:~$ ls fg gh hh.txt lesson lesson2 lesson3 lesson4 test.txt text ubuntufengyouyinli:~$ zip -r lesson4.zip lesson4 adding: lesson4/ (stored 0%) adding: lesson4/test.c (deflated 29%) adding: lesson4/galagme/ (stored 0%) adding: lesson4/galagme/galgame/ (stored 0%) adding: lesson4/test/ (stored 0%) ubuntufengyouyinli:~$ ls fg gh hh.txt lesson lesson2 lesson3 lesson4 lesson4.zip test.txt textunzip 解压压缩包写法 unzip 被解压文件路径 -d/解压到指定路径中ubuntufengyouyinli:~$ unzip lesson4.zip -d/home/ubuntu/lesson3 Archive: lesson4.zip creating: /home/ubuntu/lesson3/lesson4/ inflating: /home/ubuntu/lesson3/lesson4/test.c creating: /home/ubuntu/lesson3/lesson4/galagme/ creating: /home/ubuntu/lesson3/lesson4/galagme/galgame/ creating: /home/ubuntu/lesson3/lesson4/test/ ubuntufengyouyinli:~$ ls fg gh hh.txt lesson lesson2 lesson3 lesson4 lesson4.zip test.txt text ubuntufengyouyinli:~$ cd lesson3 ubuntufengyouyinli:~/lesson3$ ls gal galagme heoo.txt lesson2 lesson4 love test test.cpp将linux中的压缩包传到windows中sz 压缩包路径 xshell会帮我们弹窗。将windows中的文件传到linux中rz xshell帮我们弹窗选择文件上传会上传到我们的当前所在目录中。xshell也支持直接将文件拖进去(不作演示了上传个2MB的文件差点炸了)tar压缩tar 选项 被压缩的文件名.tgz 要被压缩的文件路径核心选项c 创建打包文件z 对打包文件进行压缩f 命名x 解包文件v 显示解包过程压缩ubuntufengyouyinli:~/lesson4$ ls galagme test test.c z ubuntufengyouyinli:~/lesson4$ tar cfz galgame.tgz /home/ubuntu/lesson4/galagme tar: Removing leading / from member names ubuntufengyouyinli:~/lesson4$ ls galagme galgame.tgz test test.c ztar xzf 压缩包 就是解包。tar是默认递归的。总结tar czf xxx.tgz 被压缩路径 -C 指定路径tar xzf xxx.tgz -C 指定路径这样就能压缩/解压到指定路径下linux和linux之间互传scp 用于远程拷贝scp 要被传输的压缩包路径 对方机器名公网或私网IP:对方的指定路径例scp lesson4.tgz whb8.135.23.134:/home/whb/galgame然后输入对方的密码即可。bc linux自带的简单计算器ubuntufengyouyinli:~$ echo 12345|bc 153.linux环境下的体系结构和系统内核版本体系结构:cpu的构架即一台电脑的处理器uname -a(展现当前的linux体系架构的具体信息)ubuntufengyouyinli:~$ uname -a Linux fengyouyinli 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linuxunmae -r(只看内核版本与体系版本)ubuntufengyouyinli:~$ uname -r 6.8.0-71-genericlinux能支持多种现实设备的原因是内部有很多兼容性代码实现了不同平台的版本的需求在识别设备的芯片属性后就会采用条件编译的方式保留所需的对应源代码因此可以说芯片是一台设备最重要的组成部分。体系结构芯片结构1.主流的体系结构有x86_32或x86_64(别名x64)2.新老内核的中企业优先用老内核4.快捷键1.ctrl c(中止写指令或中止代码运行)2.上下键查看历史命令3.快速按两次tab(自动进行命令搜索和命令补全)ubuntufengyouyinli:~$ wh //按两下tab后的显示 whatis whereis which which.debianutils while whiptail who whoami ubuntufengyouyinli:~$ whi which which.debianutils while whiptail ubuntufengyouyinli:~$ while //当匹配结果只有一个时linux会自动帮我们补全4.ctrl r(搜索历史命令)(reverse-i-search): which //这就是ctrlr后最近与which匹配的使用过的历史指令按enter就可以直接使用5.ctrl d(退出当前用户)从ctrlr看linux会自动记录我们的历史指令使用history即可看见我们之前使用过的指令解压的指令也会在里面云服务器除了维护或不用了都是永不关机的使用shutdown就可以关机了5.shell命令行及其运行原理每次输入命令前的代码叫命令行我们自己写的叫命令。ubuntu fengyouyinli :~ $ //用户名 主机名 当前所在目录 提示符#时超级用户$是普通用户6.shell和bash操作系统内核外部其实是有一层外壳程序这个外壳程序打印命令行提示符用户输入的指令本质是一个字符串经过外壳程序处理后再将数据给操作系统内核。操作系统内核将处理完的数据先给外壳程序该外壳程序再将数据以字符串的形式打印出来。这个外壳程序叫命令解释器也叫shellshell存在的意义1.方便用户操作只用写字符串不用写代码2.保护内核拒接用户的非法请求外壳程序在系统中以进程的方式呈现在有新指令到来时会以创建新进程的方式运行。在每次登录时系统都会给我们创建一个bash进程。shell和bash的区别shell是进程的总和bash是shell中的一种。安卓就是包裹在linux操作系统外面的那一层shell。7.权限linux中的用户root超级用户 or普通用户//权限高 权限低受管控如普通用户是不允许修改系统文件的但超级用户可以windows中的用户管理员or普通用户su(给用户进行身份切换)su 给普通用户超级用户的权限 exit后就变回普通用户了su - 直接变成超级用户su 普通用户名可以从超级用户变成普通用户。