1.Linux基础命令

1.1 grep命令Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查
找。如果找到匹配模式, grep打印包含模式的所有行。grep一般格式为:grep [-选项] ‘搜索内容串’ 文件名在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep ‘a ’1.txt。常用选项说明:选项          含义-v            显示不包含匹配文本的所有行(相当于求反)-n            显示匹配行及行号-i          忽略大小写命令:grep -r + “查找的关键字” + 路径
搜索目录需要添加参数: -r查找 /home/test下包含“hello,world“字符串的文件:    grep -r "hello,world" /home/test示例:
1.grep -a hello /bin/ls 将二进制文件以文本文件的方式搜索hello
2.grep -i hello /etc/passwd 在/etc/passwd文件里找hello并且忽略大小写查找
3.grep -n hello /etc/passwd 搜索hello结果并显示在文件里出现的行号
4.grep -w hello /etc/passwd 搜索完全匹配hello单词的行
5.grep -v hello /etc/passwd 显示出在/etc/passwd文件里没有hello的行
6.grep -r hello /etc/ 在/etc/目录里所有文件里找hello并显示结果
7.grep -i hello /etc/passwd --color=auto 在/etc/passwd文件中找hello并
且忽略大小写,然后高亮显示匹配的关键字1.2 管道管道(|):一个命令的输出可以通过管道做为另一个命令的输入。这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。1.3 压缩包管理
1 tartar使用格式:        tar [选项] 打包文件名 文件tar命令很特殊,其选项前面可以使用“-”,也可以不使用。常用参数:参数      含义-c        生成档案文件,创建打包文件-v      列出归档解档的详细过程,显示进度-f       指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后-t     列出档案中包含的文件-x        解开档案文件注意:除了f需要放在参数的最后,其它参数的顺序任意。1.tar -cvf 创建归档文件         2.tar -xvf 解除归档文件(还原)           3.tar -tvf 查看归档文件内容2 gziptar与gzip命令结合使用实现文件打包、压缩。tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。gzip使用格式如下:    gzip [选项] 被压缩文件常用选项: 选项          含义-d            解压-r            压缩所有子目录注:1.一次性压缩多个文件: gzip后面不能跟目录2.tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。
常见用法:        1.压缩用法:tar -cvzf 压缩包包名 文件1 文件2 ...2.解压用法: tar -zxvf 压缩包包名参数   含义-z    指定压缩包的格式为:file.tar.gz3.解压到指定目录:-C (大写字母“C”)例:tar -xvf new.tar.gz -C ./test/ 将 new.tar.gz 解压到当前目录下的 test 目录下3.bzip2tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用
xxxx.tar.bz2。在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先
打包后压缩的过程。压缩用法:tar jcvf 压缩包包名 文件...(tar -jcvf bk.tar.bz2 *.c)解压用法:tar jxvf 压缩包包名 (tar -jxvf bk.tar.bz2)常见格式:tar -czvf       tar -cjvf       tar -xzvf       tar -xjvf       tar -xvf 万能解压 (gzip bzip2)4.zip和unzip1.通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。 2.压缩文件:zip -r 目标文件(没有扩展名) 源文件    3.解压文件:unzip -d 解压后目录文件 压缩文件

2.文件权限管理

2.1 文件权限文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行
什么样的操作。在 Unix/Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能
访问和如何访问这些文件和目录。2.2 访问用户分类通过设定权限可以从以下三种访问方式限制访问权限:1)只允许用户自己访问(所有者)所有者就是创建文件的用户,用户是所有用户所创建文件的所有者,用户可以允许所在的用户组能访问用户的文件。2)允许一个预先指定的用户组中的用户访问(用户组)    用户都组合成用户组,例如,某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。3)允许系统中的任何用户访问(其他用户)用户也将自己的文件向系统内的所有用户开放,在这种情况下,系统内的所有用户都能够访问用户的目录或文件。在这种意义上,系统内的其他所有用户就是 other 用户类2.3 访问权限说明用户能够控制一个给定的文件或目录的访问程度,一个文件或目录可能有读、写及
执行权限:1.读权限(r)对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。2.写权限(w)对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。3.可执行权限(x)对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。注意:通常,Unix/Linux系统只允许文件的属主(所有者)或超级用户改变文件的读写权限。2.4 chmodchmod 修改文件权限有两种使用格式:字母法与数字法。
1.字母法:chmod u/g/o/a +/-/= rwx 文件[ u/g/o/a ]            含义u         user 表示该文件的所有者g         group 表示与该文件的所有者属于同一组( group )者,即用户组o            other 表示其他以外的人a         all 表示这三者皆是[ +-= ]            含义+                增加权限-               撤销权限=              设定权限rwx         含义r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录内部的内容。w    write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。x    excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。例:1.chmod o+w file 给文件file的其它用户增加写权限2.chmod u-r file 给文件file的拥有者减去读的权限3.chmod u=rwx,g=rx,o=r file 给文件file的拥有者设置读写执行的权限,文件file的组用户设置读执行权限,给其他用户设置读权限2.数字法:“rwx” 这些权限也可以用数字来代替r  读取权限,数字代号为 "4"w    写入权限,数字代号为 "2"x    执行权限,数字代号为 "1"-    不具任何权限,数字t代号为 "0"例:chmod 751 file**:**1.文件所有者:读、写、执行权限    2.同组用户:读、执行的权限   3.其它用户:执行的权限注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。
如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限2.5 chownchown用于修改文件所有者
使用方法:chown 用户名 文件或目录名1.将文件所属者修改为root用户sudo chown root file 将文件file的文件所属者修改为root用户2.将文件所属者改为test 所属组改为rootsudo chown test:root file .将文件所属者改为test,所属组改为root3.单独只修改文件所属组sudo chown :root file .将文件所属组改为root2.6 chgrpchgrp用于修改文件所属组
使用方法:chgrp 用户组名 文件或目录名

3.其他命令

3.1 重定向标准输入 代码 0 默认设备为键盘
​ 标准输出 代码 1 默认设备为屏幕
​ 错误输出 代码 2 默认设备为屏幕1.ls /etc/passwd > output.txt 标准正确输出重定向到output.txt​
2.ls /etc/shadow >> output.txt 标准正确输出追加重定向到output.txt​
3.ls dddddd 2> error.txt 标准错误输出重定向到error.txt​
4.ls ddddd 2>> error.txt 标准错误输出重定向到error.txt,追加的方式​
5.ls dddddd 2> /dev/null 标准错误输出重定向到黑洞​
6.ls ddddd /etc/passwd &> /dev/null 标准正确输出标准错误输出全都重定向到黑洞​
7.ls ddddd /etc/passwd &>> txt 标准正确输出标准错误输出以追加的方式全都重定向到txt
8.cat < file 标准输入重定向,file作为cat输入的内容3.2 tree
tree 以树状形式查看指定目录内容,使用该命令需要安装软件 tree:  sudo apt install tree常用选项:   -L n        查看n层目录3.3 lnln命令主要用于创建链接文件。Linux链接文件类似于Windows下的快捷方式。
链接文件分为软链接和硬链接:   软链接:软链接不占用磁盘空间,源文件删除则软链接失效。硬链接:硬链接只能链接普通文件,不能链接目录。
使用格式:    ln 源文件 链接文件 ln -s 源文件 链接文件如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即
使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。注意:1.如果软链接文件和源文件不在同一个目录,源文件最好要使用绝对路径,不要使
用相对路径。2.readlink命令读取符号链接文件的内容(存储目标文件的路径)

4.VI编辑器

vi有三种基本工作模式: 命令模式、文本输入模式(编辑模式)、末行模式4.1命令模式任何时候,不管用户处于何种模式,只要按一下ESC键,即可使vi进入命令模式。我们在
shell环境(提示符为$)下输入启动vim命令,进入编辑器时,也是处于该模式下。在命令模式下,用户可以输入各种合法的vi命令,用于管理自己的文档。此时从键
盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的vi命令,则vi在
接受用户命令之后完成相应的动作。4.2 编辑模式在命令模式下输入插入命令i(I)、附加命令a(A) 、打开命令o(O)、替换命
s(S)都可以进入文本输入模式,此时vi窗口的最后一行会显示“插入”。4.3 末行模式1.末行模式下,用户可以对文件进行一些附加处理。尽管命令模式下的命令可以完成很
多功能,但要执行一些如字符串查找、替换、显示行号等操作还是必须要进入末行模式的。2.在命令模式下,输入冒号即可进入末行模式。此时vi窗口的状态行会显示出冒号,等
待用户输入命令。用户输入完成后,按回车执行,之后vi编辑器又自动返回到命令模式
下。4.4 vim基本操作
1. 打开文件vim filename:打开或新建文件,并将光标置于第一行行首,如果文件不存在,则会新建文件。2 编辑文件如果通过vi打开一个已经存在的文件,首先进入命令模式,此时输入的任何字符都被
视为命令,不能输入内容。在命令模式输入i3.保存文件一定要先退出插入模式(按Esc进入命令模式),然后(小写状态下),shift + zz(按住 “shift” + 按两下“z”键),或者(大写状态下:ZZ) 即可保存退出当前文件。第一步:进入命令模式(ESC)       第二步:shifit + z z4. 命令模式下的操作1)切换到编辑模式按键           功能i     光标位置当前处插入文字I        光标所在行首插入文字o(字母) 光标下一行插入文字(新行)O(字母)    光标上一行插入文字(新行)a        光标位置右边插入文字A     光标所在行尾插入文字s     删除光标后边的字符,从光标当前位置插入S     删除光标所在当前行,从行首插入2) 光标移动       按键              功能Ctrl + f 向前滚动一个屏幕Ctrl + b   向后滚动一个屏幕gg          到文件第一行行首G(大写)       到文件最后一行行首,G必须为大写mG或mgg       到指定行,m为目标行数0(数字)     光标移到到行首(第一个字符位置)$         光标移到到行尾l(小写L)       向右移动光标h         向左移动光标k         向上移动光标j         向下移动光标^         光标移到到行首(第一个有效字符位置)     3)复制粘贴      按键          功能[n]yy 复制从当前行开始的 n 行p      把粘贴板上的内容插入到当前行4)删除       按键              功能[n]x      删除光标后 n 个字符[n]X     删除光标前 n 个字符D            删除光标所在开始到此行尾的字符[n]dd        删除从当前行开始的 n 行(准确来讲,是剪切,剪切不粘贴即为删除)dG         删除光标所在开始到文件尾的所有字符dw         删除光标开始位置的字,包含光标所在字符d0(0为数字) 删除光标前本行所有内容,不包含光标所在字符dgg            删除光标所在开始到文件首行第一个字符开始的所有字符5)撤销恢复  按键              功能.(点)      执行上一次操作u            撤销前一个命令ctrl+r      反撤销100 + .     执行上一次操作100次6)保存退出按键              功能ZZ(shift+z+z)   保存退出7)查找     按键          功能/字符串  从当前光标位置向下查找(n,N查找内容切换)?字符串 从当前光标位置向上查找(n,N查找内容切换)8)替换      按键          功能r     替换当前字符R     替换当前行光标后的字符(ESC退出替换模式)9)可视模式 按键                  功能v         按字符移动,选中文本,可配合h、j、k、l选择内容,使用d删除,使用y复制Shift + v 行选(以行为单位)选中文本,可配合h、j、k、l选择内容,使用d删除,使用y复制Ctrl + v    列选 选中文本,可配合h、j、k、l选择内容,使用d删除,使用y复制5. 末行模式下的操作all :表示所有1)保存退出按键            功能:wq          保存退出:x(小写)      保存退出:w filename 保存到指定文件:q           退出,如果文件修改但没有保存,会提示无法退出:q!         退出,不保存        2)替换        按键                      功能:s/abc/123/           光标所在行的第一个abc替换为123:s/abc/123/g      光标所在行的所有abc替换为123:1,10s/abc/123/g   将第一行至第10行之间的abc全部替换成123:%s/abc/123/g        当前文件的所有abc替换为123:%s/abc/123/gc      同上,但是每次替换需要用户确认:1,$s/abc/123/g       当前文件的所有abc替换为1233)分屏     按键                      功能:sp                   当前文件水平分屏:vsp                当前文件垂直分屏: sp 文件名            当前文件和另一个文件水平分屏: vsp 文件名         当前文件和另一个文件垂直分屏ctrl-w-w          在多个窗口切换光标:wall/:wqall/:qall 保存/保存退出/退出所有分屏窗口vim -O a.c b.c      垂直分屏vim -o a.c b.c      水平分屏4) 其它用法(扩展)按键                                   功能:!man 3 printf                    在vim中执行命令 (q退出):r !ls -l                      将ls -l执行的结果写入当前文件中:r /etc/passwd                    将/etc/passwd文件中的内容写入到当前文件中:w /tmp/txt                       将当前文件内容写入到/tmp/txt文件中:w! /tmp/txt                   强制将当前文件内容写入到/tmp/txt文件中:1,10s/^/\/\//g                  将第1行到10行行首添加// (^表示行首) /\/\转移字符:1,10s#^#//#g                    将第1行到10行行首添加// (#可以临时代替/ 分隔):%s/;/\r{\r\treturn0;\r}\r/g    将;替换成{ return 0; }:1,10s#//##g                  将第1行到10行行首去掉// (#可以临时代替/ 分隔)

Linux系统编程Day02相关推荐

  1. Linux系统编程及应用——ubuntu环境下

    Linux系统编程及应用--ubuntu环境下 程序由业务逻辑和系统访问两部分构成的.其中,业务逻辑是根据业务需求,按照设计好的逻辑规则,处理信息,与系统(平台)无关的:而系统访问则是利用操作系统所提 ...

  2. 【Linux】Linux系统编程(入门与系统编程)(一)(环境搭建、常见指令以及权限理解)

    目录 linux系统编程 : 1.推动技术进步的基本模式 2.理解操作系统的发展 Linux 背景介绍 UNIX发展的历史: Linux发展历史 开源 Linux的发行版本: a.技术角度 b.商业化 ...

  3. 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API

    Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...

  4. linux系统发送信号的系统调用是,linux系统编程之信号:信号发送函数sigqueue和信号安装函数sigaction...

    信号发送函数sigqueue和信号安装函数sigaction sigaction函数用于改变进程接收到特定信号后的行为. sigqueue()是比较新的发送信号系统调用,主要是针对实时信号提出的(当然 ...

  5. Linux系统编程——进程基础知识

    Linux系统编程--进程基础知识 1.程序和进程 程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu.内存.打开的文件.设备.锁-) 进程,是一个抽象的概念,与操作系统原理联系紧密.进程 ...

  6. Linux系统编程——线程私有数据

    在多线程程序中.常常要用全局变量来实现多个函数间的数据共享.因为数据空间是共享的,因此全局变量也为全部线程共同拥有. 測试代码例如以下: #include <stdio.h> #inclu ...

  7. vbs结束进程代码_物联网学习教程—Linux系统编程之进程控制

    Linux系统编程之进程控制 一.结束进程 首先,我们回顾一下 C 语言中 continue, break, return 的作用: continue: 结束本次循环 break: 跳出整个循环,或跳 ...

  8. Linux 系统编程总结 (未完待续)

    前言 我记得去年说过要讲一些干货分享给大家,Linux 系统编程是linux 驱动开发入门的条件 有人说为什么? mmap select read write open ioctl socket po ...

  9. Linux系统编程之查看文件大小的方法(lseek_fseek_stat)

    Linux系统编程之查看文件大小的方法(lseek.fseek.stat)三种方法: #include <stdio.h> #include <fcntl.h> #includ ...

最新文章

  1. SeaJS基本开发原则
  2. sudo:/usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位
  3. idea使用ant将wsdl文件_文件曝光:奔驰GLC将使用E级同款1.5T发动机
  4. 实战项目| 7天掌握神经网络预测模型
  5. C语言动态存储分配函数
  6. kettle分布式部署_Kettle(三)分布式架构
  7. Android Studio开发-高效插件强烈推荐
  8. 搭建完全分布式的hadoop[转]
  9. 配置vscode作为STM32代码的编辑器(替代keil5)。实现:代码自动补全, 编译,下载。nRF52也可以编译。
  10. vue 前端打印pdf
  11. Windows误删文件如何恢复(Shift+Delete、清空回收站)
  12. 牛散村 : 强行平仓的后果是什么?
  13. 2021全国人工智能师资培训入高校,百度携手哈工大探索AI师资更多可能
  14. 【LINUX驱动开发】AMG8833红外成像模块在HI3516上的应用
  15. 在win7系统中设置共享,但是必须要关闭防火墙
  16. javaScript基础面试题 ---闭包
  17. 时间序列的数据分析(六):指数平滑预测法
  18. linux安装php-java-bridge
  19. 【C生万物】 初识篇(02)
  20. 政务大厅计算机管理,政务服务窗口管理制度

热门文章

  1. EXCEL数据指定分隔符分列
  2. kmeans聚类算法python实例
  3. VC Preprocessor definitions
  4. 树莓派PICO -oled详细避坑指导
  5. 工业机器人基础教程——快速入门学习
  6. C/C++常用预编译指令介绍
  7. 光圈倒闭背后的启示------什么样的直播平台可以存活?
  8. 高工拆解|停产燃油车/钦点英伟达,比亚迪智驾背后的大杂烩
  9. c语言工程师常用面试题,这些常用的9个嵌入式工程师常见面试题你会不会?
  10. 计算机毕业设计之交通违章管理系统