Linux基础篇一

Posted fqqwz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础篇一相关的知识,希望对你有一定的参考价值。

帮助的命令:
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:当前光标前
a: 当前光标后
o:当前光标所在行的下一行
I:当前光标所在行的开头
A:当前光标所在行的结尾
O:当前光标所在行的上一行

 

 

4基本使用
1)命令模式下的命令: x:删除光标所在的字符(可实现剪切),
dd:删除当前行, (可实现剪切)
dw:删除单词(当前光标到空格或回车)(可实现剪切)
yy:复制当前行到剪贴板
p:粘贴

ZZ:保存并退出

移动光标(下上左右键, HJKL)

2)输入模式下的命令:
移动光标(下上左右键)

 

3)未行模式下的命令:
:x 保存退出
:w [文件名] 保存
:q 退出
:wq [文件名] 保存退出
:w! [文件名] 强制保存
:q! 强制退出
:wq! [文件名] 强制保存退出

:set nu 显示行号
:set nonu 不显示行号

到文档中查找字符是否存在
?查找字符
/查找字符 n , shift+n(N)


替换:

:开始的行号, 结束的行号s/要被替换的字符/新字符/参数


默认参数:无提示区分大小写 ,只替换找的每一行的第一个

i:不区分大小写
c :有提示信息(只换每一行的第一个)

e:区分大小写
g:无提示信息(全部替换)

结束的行号:
行号:, 到文件尾 $, %

 

5.vim打开多个文件
1. vi 文件名1 文件名2 文件3 。。。
:n 跳到下一个文件
:N 跳到上一个文件
:e 文件名 跳到指定文件 如果文件名不存在创建一个新文件
注:同一时刻只能看到一个文件
:q退出所有文件

2.vi 文件名
:sp 文件名 竖向打开文件 :new 文件名
:vsp 文件名 横向打开文件 :vnew 文件名

ctl+ww 切换窗口

:sp/vsp 无文件名 打开当前光标所在处的文件

:new/vnew 无文件名 创建一个新文件,再保存时需要加入文件名,:wq 文件名

注:同一时刻能看到多个文件

 

二。查看文件(普通文件)

cat [参数] [文件名]
不写文件名时,将键盘上的输入回车后显示在显示器上====>标准的输入输出命令

-n:连行号一起显示在屏幕上
-b:连行号一起显示在屏幕上,但空行不算。
-t:连特殊字符一起显示在屏幕上。

more [参数] 文件名
+n:从笫n行开始显示
-n: 定义屏幕大小为n行 下翻命令:回车(单行下翻)
ctrl+f(整页下翻)
空格键(整页下翻)
未到底退出则按q键。

less [参数] 文件名
-N 显示每行的行号
按q可以退出
less 命令;空格键 滚动一页;
回车键 滚动一行。

head [参数] 文件名
-n:指定显示多少行
head -5
head -n

tail [参数] 文件名
-n:指定显示多少行


vi / vim 查看也作编辑

 

grep [参数] 要查找的内容 要查找的文件路径
-v 反向筛选出不含过滤关键词的
-i 忽略关键词大小写
-n 在显示符合范本样式的那一列之前,标示出该列的行号
-r 在目录文件中查找


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,.rpm..)(打包文件的后缀名:.tar)


一)归档、压缩
1.tar -cf 文件名.tar 要归档的文件名列表


2.tar -czvf 文件名.tar.gz 要归档的文件名列表

3.tar -cjvf 文件名.bz2 要归档的文件名列表


4.zip -r 文件名.zip 要归档的文件名列表


二)解压、档
1.tar -xf 文件名.tar -C 路径


2.tar -xzf 文件名.tar.gz -C 路径

3.tar -xjf 文件名.bz2 -C 路径


4.unzip 文件名.zip -d 路径


三)查看解归档并压
1.tar -tf 归档文件名.tar

2.tar -tzf 归档并压缩文件名.tar.gz

3.tar -tjf 归档并压缩文件名.bz2

4.unzip -v 归档并压缩文件名.zip

四。用户的管理 (root)
1.添加用户
useradd [参数] 用户名

-m:创建用户并创建用户的主目录(略)
-M:创建用户,不创建用户的主目录(手动创建mkdir 用户名文件夹 , 需要将配置文件复制到用户名文件夹)

创建用户同时创建了组

2.设置用户的密码:su root
passwd [用户名] ,修改普通用户的密码

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 [用户名];当前用户的信息

用户id,组id, 群组id

 

11.用户群组 成员更改 语法:
gpasswd [-option] 用户名 组名

-a 添加用户进群组 -d 从群组移除用
gpasswd -a a1 B ;

gpasswd -d a1 B;

注:不能移除主组
用户名与组名必需是存在的

 

以上是关于Linux基础篇一的主要内容,如果未能解决你的问题,请参考以下文章

PHP 基础篇一

Linux知识点总结(思维导图,建议收藏)

Linux知识点总结(思维导图,建议收藏)

Linux常用基本命令大全介绍

基础篇一

lua基础语法篇一