linux第二天

落爺英雄遲暮 提交于 2019-12-06 05:42:59
帮助的命令:
1.man  [参数] 命令 , 打开帮助手册
1.命令: man 1 cd          , cd , cp, mv ,printf
2.系统调用: man 2 系统函数,  fork() 进程
3.C语言库函: man 3 C语言函数 , printf()
 
printf  fork
 
2.help:
内部:help 命令名 
外部: 命令名  --help
 
type 命令 
 
cd is a shell builtin 内部
 
ls is aliased to `ls --color=auto' 外部
 
 
3.查看命令相关文件的路径:whereis -mb 命令 
帮助-m,原代码文件-b
 
 
4. info 命令 显示的是命令手册
 
一。vi / vim
vi [路径/文件名]
 
1.命令模式
2.输入模式
3.末行模式
 
  命令模式 - i/o/a/ I/A/O--> 输入模式 
  <----ESC 键------ 
 
 
  命令模式  --  :  / ?开头的命令--->  末行模式
 
 
i:当前光标前
o:当前光标所在行的下一行
a: 当前光标后
I:当前光标所在行的开头
A:当前光标所在行的结尾
O:当前光标所在行的上一行
 
 
:w [文件名]      保存
:q  退出
:wq 保存退出
:w! 强制保存
:q! 强制退出
:wq! 强制保存退出
 
 
4基本使用
1)命令模式下的命令: x:删除光标所在的字符(可实现剪切),
   dd:删除当前行, 
   dw:删除单词
   yy:剪贴板(复制)
   p:粘贴
   ZZ:保存并退出
移动光标(下上左右键, HJKL)
2)输入模式下的命令:
移动光标(下上左右键)
 
3)未行模式下的命令:
:x            保存退出 :wq
:w 文件名     保存
:q
:wq
:set nu显示行号
:set nonu  取消显示行号
 
到文档中查找字符是否存在
?查找字符
/查找字符              n , shift+n(N)
 
替换:
:开始的行号, 结束的行号s/要被替换的字符/新字符/参数 
                      例如:1,6s/dd/cc(将dd替换成cc) 
默认参数:无提示区分大小写 eg
 
i:不区分大小写
c :有提示信息(只换每一行的第一个)
 
e:区分大小写
g:无提示信息(所有)
 
结束的行号:
行号:9, 到文件尾 $, %
 
 
 
5.vim打开多个文件
1. vi 文件名1 文件名2 文件3 。。。
:n       跳到下一个文件
:N       跳到上一个文件
:e 文件名     跳到指定文件 如果文件名不存在创建一个新文件
注:同一时刻只能看到一个文件
 
 
2.vi 文件名 
  :sp 文件名   竖向打开文件 :new 文件名
  :vsp 文件名  横向打开文件 :vnew 文件名
 
ctl+ww(多个文件光标切换,切换到下一个文件)
 
:sp 无文件名  打开当前光标所在处的文件
:new 无文件名 创建一个新文件,再保存时需要加入文件名,:wq 文件名 
 
注:同一时刻只能看到多个文件
 
 
 
二。查看文件
cat [参数] [文件名]
不写文件名时,将键盘上的输入回车后显示在显示器上====>标准的输入输出命令
 
-n:连行号一起显示在屏幕上 -b:连行号一起显示在屏幕上,但空行不算。
-t:连特殊字符一起显示在屏幕上。
more [参数] 文件名
+n:从笫n行开始显示 (+5表示从第5行开始显示出来)
-n: 定义屏幕大小为n行
下翻命令:回车(单行下翻)(-5表示显示从第一行显示到第5行,其他的需翻页显示)
ctrl+f(整页下翻)
空格键(整页下翻) 未到底退出则按q键。
 
less  [参数] 文件名
-N  显示每行的行号(less -N aa表示aa文档显示行号,如果aa文件内容很多会显示一部分,需要按空格和回车键显示全部内容)
按q可以退出
less 命令;空格键 滚动一页;
回车键 滚动一行。
head [参数] 文件名  (head -5 wu表示指定显示前面5行)
-n:指定显示多少行
head -5 
head -n 
 
tail [参数] 文件名(tail -5 wu表示指定显示末尾5行)
   -n:指定显示多少行
 
 
vi / vim 查看也作编辑
 
 
 
grep [参数]  用查找的内容  要查找的文件路径
 
-v 反向筛选出不含过滤关键词的
  -i 忽略关键词大小写
-n 在显示符合范本样式的那一列之前,标示出该列的编号(把这行编号显示出来)
-r 在目录文件中查找
例如grep -rn cc ./
grep -r abcdefg /(在根目录下查找包含有abcdefg的文件)
 
find -name 文件名 (查找出来的是路径)
 
 
 
 
Linux查看日志常用命令: 文件 
 
查看日志:  cat , more less,head ,tail,vim
 
 
1.查看日志常用命令
    tail:  
       
 
            tail -100f test.log      实时监控100行日志
 
            tail  -n  10  test.log   
    tail -10 test.log
    tail -n  -10 test.log
 
     显示日志尾部最后10行的日志;
 
            tail -n  +10  test.log   显示第10行之后的所有日志;
 
    head:  
 
        跟tail是相反的,tail是看后多少行日志;例子如下:
 
            head -n 10  test.log   
    head -10 test.log
      head -n +10 test.log
            显示日志文件中的头10行日志;
 
            head -n -10  test.log   显示日志文件除了最后10行的其他所有日志;
 
    cat: 
 
        tac是倒序查看,是cat单词反写;例子如下:
 
            cat -n test.log |grep "debug"   查询关键字的日志
 
 
 
2. 应用场景一:按行号查看---过滤出关键字附近的日志
 
     1)cat -n test.log |grep "debug"  得到关键日志的行号
 
     2)cat -n test.log |tail -n +92|head -n 20  选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:
 
            tail -n +92表示查询92行之后的日志
 
            head -n 20 则表示在前面的查询结果里再查前20条记录
 
 
 
3. 应用场景二:根据日期查询日志
 
      sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log
 
      特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;
 
                      先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点
 
 
 
4.应用场景三:日志内容特别多,打印在屏幕上不方便查看
    (1)使用more和less命令,
 
           如: cat -n test.log |grep "debug" | more     这样就分页打印了,通过点击空格键翻页
 
    (2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
 
            如:cat -n test.log |grep "debug"  >debug.txt
 
 
 
三。压缩打包命令(压缩文件的后缀名:.tar.gz  .bz2  .zip)(打包压缩名.rar)
一)归档与压缩  (v可以不要,v为查看压缩文件内容的)
1.tar -cvf 归档文件名.tar  要归档的文件名列表
 
2.tar -czvf 归档并压缩文件名.tar.gz 要归档的文件名列表 (z可以省略但是需加上,不加z的话,解压,查看都不能叫z,否则会报错)
 
3.tar -cjvf 归档并压缩文件名.bz2 要归档的文件名列表
 
4.zip  归档并压缩文件名.zip 要归档的文件名列表
 
 
二)解归档并压
1.tar -xvf 归档文件名.tar -C 解压缩的路径
 
2.tar -xzf 归档并压缩文件名.tar.gz -C 解压缩的路径
 
3.tar -xjf 归档并压缩文件名.bz2 -C 解压缩的路径
 
4.unzip  归档并压缩文件名.zip  -d 解压缩的路径
 
-x:解压
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
-c: 建立压缩档案
-t:查看内容
-j:有bz2属性的
-v:显示所有过程
-Z:有compress属性的
 
三)查看解归档并压
1.tar -tf 归档文件名.tar
 
2.tar -tzf 归档并压缩文件名.tar.gz
 
3.tar -tjf 归档并压缩文件名.bz2 
 
4.unzip -v 归档并压缩文件名.zip 
 
 
 
四。用户的管理 (root)
1.useradd [参数] 用户名
 
  -m:创建用户并创建用户的主目录(略)
-M:创建用户,不创建用户的主目录
2.passwd 用户名
3.su - 用户名
 
 
4.userdel [参数] 用户名
注:没有使用的用户名才可能以删除
 
-r:删除用户的主目录
 
5.usermod -L 用户名
锁定用户的密码(密码不可用)
 
  usermod -U 用户名
解锁 用户的密码可用((密码可用))
 
 
 
 
6.创建组
groupadd 组名
 
 
7.组中添加用户
usermod -g 组名  以存在的用户     : 用户,组存在改变用户所属的组
 
 
 
useradd -g 组名 -m 用户不存在      :用户不存在,组存在, 创建用户时直接添加组(如不指定组,用户名就是组名)(直接在组里面添加新用户)
-m可以省略
 
 
8.删除组
groupdel 组名
 
注:没有使用的组才可能以删除
 
9、用户的系统文件
1).用户账号文件:/etc/passwd`
                2).影子密码文件:/etc/shadow
 
3).组账号文件/etc/group
 
4).组影子密码文件/etc/gshadow
 
10.查看用户组
 
语法:
groups  [用户名] ; 显示用户名所在的组
 
id  [用户名];当前用户的信息
 
11.用户群组 成员更改
 
语法:
gpasswd  [-option]用户名 群组名
       -a  添加用户进群组
 
       -d 从群组移除用
gpasswd  -a a1 B ;  
gpasswd -d a1 B;
 
注:不能移除主组
           用户和组名必须都存在
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!