【Linux】快速入门法宝~你值得拥有

查阅命令帮助信息

man

man是manual的缩写,是Linux提供的一个手册,包含了绝大部分的命令、函数的详细使用

man的操作建

操作键功能说明
空格键显示手册的下一屏内容
回车键一次滚动手册页的一行
b回滚一屏
f前滚一屏
q退出
/内容搜索/后面的内容
↑、↓向上或向下滚动一行

使用格式:

man 命令

举例:

[root@node100 ~]# man find

help

显示命令帮助文本。

命令 --help

[root@node100 /]# find --help

切换目录

cd

切换工作目录

常用选项命令说明
cd进入用户主目录
cd ~进入用户主目录
cd -返回进入此目录之前所在的目录
cd ..返回上级目录(若当前目录为"/",则执行完后还在"/";".."为上级目录的意思)
cd ../..返回上两级目录
cd 相对路径进入到当前目录下的某个目录
cd 绝对路经进入到指定的绝对路径

举例:进入到指定路径

[root@node100 ~]# cd /etc/ntp/

显示工作目录

pwd

对应英文(print work directory)其用途:查看当前所在目录

[root@node100 ntp]# pwd

查看目录内容

ls

对应英文(list)显示目录内容列表

使用格式:ls [选项]... [目录或文件名]

常用选项命令说明
ls 目录显示目录内容列表
ls -l 目录详细信息显示 简写ll
ls -a 目录显示所有子目录和文件的信息,包括隐藏文件
ls -R 目录递归显示内容
ls -h 目录以友好方式显示文件大小

举例:

[root@node100 /]# ls

[root@node100 /]# ll

[root@node100 /]# ll -h

[root@node100 /]# ll /etc/ntp/

创建目录

mkdir

对应英文( make directory) 创建目录:

使用格式: mkdir [选项] [参数]

常用选项命令说明
mkdir test创建test目录
mkdir -p demo/test级联创建一级目录demo以及二级目录test
[root@node100 /]# mkdir test

[root@node100 /]# mkdir -p demo/test

创建文件

touch

用途:创建文件,使用格式:touch 文件名

[root@node100 /]# touch a.txt

删除操作

rmdir

对应英文(remove)用途:删除空目录(只能删除目录)

使用格式:rmdir [-p] dirName

常用选项命令说明
rmdir test删除test目录
rmdir -p demo/test级联删除一级目录demo以及二级目录test
[root@node100 /]# rmdir test

[root@node100 /]# rmdir demo/test

rm

使用格式: rm [选项] 文件或目录

删除文件或目录

使用 rm 命令要小心,因为文件删除后不能恢复

常用选项命令说明
rm a.txt删除文件a.txt
rm -f a.txt强制删除,忽略不存在的文件,没有提示
rm -r demo递归删除目录或文件demo
rm -rf 文件或目录强制递归删除文件或目录
[root@node100 /]# rm -rf a.txt 

复制文件

cp

使用格式: cp [选项] 源文件或目录 目标文件或目录

命令说明
cp a a_copy复制文件a,并命名为a_copy
cp -R demo demo_copy复制目录demo,并命名为demo_copy
[root@node100 /]# cp -R demo demo_copy

移动文件

mv

用途:移动文件,如果与源文件位置一样,则相当于重命名.

使用格式: mv [选项]... 源文件或目录 目标文件或目录

常用选项命令说明
mv a /demo将当前目录下的文件a移动到更目录下的demo目录里
[root@node100 /]# mv a /demo

查看文件内容

cat

用途:连接文件并打印到标准输出设备上

使用格式:cat [选项] 文件

常用选项命令说明
cat bb将文件bb内的内容全部打印出来
cat -n bb将文件bb内的内容全部打印出来,并显示行号
[root@node100 /]# cat -n bb

用途:在屏幕上显示指定文件的开头若干行,默认显示 10 行

使用格式:head [选项] 文件

常用选项命令说明
head cc打印文件cc内前十行的内容
head -15 cc打印文件cc内前15行的内容
[root@node100 /]# head -15 cc

tail

用途:在屏幕上显示指定文件的末尾若干行,默认显示 10 行。

使用格式:tail [选项] 文件

常用选项命令说明
tail cc打印文件cc内后十行的内容
tail -15 cc打印文件cc内后15行的内容
[root@node100 /]# tail -15 cc

more

用途:显示文件内容,每次显示一屏。

使用格式:more 文件

more的操作键

按键说明
按 Space 键显示文本的下一屏内容
按 Enter 键只显示文本的下一行内容
按 h 键显示帮助屏,该屏上有相关的帮助信息
按 b 键显示上一屏内容
按 q 键退出 more 命令

less

用途:分屏上下翻页浏览文件内容

使用格式:less 文件

less的操作键

按键说明
按 e 键向上滚动一行
按 y 键向下滚动一行
G跳到文件末尾
g跳到文件首行

查找文件

find

findd的命令功能非常强大,通常用在“特定的目录下找符合条件的文件”

使用格式:find [路径] [选项] 表达式

常用选项命令说明
find *1在当前目录下查找名字中最后一位为1的文件或目录
find / 1*表示从根目录中查找名字是1开头的文件或目录
find / -name *1*从根目录中查找名字中包含1的文件或目录

*注意:表示通配符

[root@node100 /]# find / -name *1*

清屏操作

clear

[root@node100 /]# clear

网络测试命令

ping

使用格式:ping ip地址或主机名称

[root@node100 /]# ping www.baidu.com

常用快捷键

tab

输入任何文件名或者目录名的部分字符,敲击tab键,它将会自动补充你需要的文件名,或显示全部可能出现的结果。

上下方向键或者CTRL+P、CTRL+N

CTRL+P键显示上一条命令,CTRL+N键显示下一条命令。

CTRL+U

清除光标前所有的内容。

CTRL+C

中断命令或任务,比如我们在ping网络的时候,可以使用CTRL+C来中断命令。

CTRL+R

在历史命令中查找,根据输入的字符进行模糊匹配,继续按CTRL+R,切换匹配的多个结果,按回车键选中,按ESC选中。

复制粘贴

在Linux命令行中:复制CTRL+INSERT 粘贴SHIFT+INSERT

关机和重启

poweroff

关机命令

reboot

重启

echo 输出

echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用

重定向 > 和 >>

> 表示输出,会覆盖文件原有的内容

>> 表示追加,会将内容追加到已有文件的末尾

vi文本编辑器

Linux中最常用的文本编辑器

vi:类Unix系统中默认的文本编辑器;

vim:vi编辑器的增强版本,习惯上也称为vi;

vi文本编辑器的作用和特性:vi可以执行插入、删除、查找、替换等众多文本操作,而且用户可以根据自己的需要对其进行定制,只是一个文本编辑器,不能排版;

vi没有菜单,只有命令 ;

vi的三种工作模式

vi有三种基本工作模式,分别是:

命令模式 (command mode):或叫一般模式

插入模式 (insert mode):或叫编辑模式

末行模式 (last line mode):命令行模式

vi操作命令

插入命令

在命令模式下进行以下操作:

按键说明
i在光标前插入
I在当前行首插入
a在光标后一位开始插入
A在当前行尾插入
o在当前行下面插入一个新行
O在当前行上面插入一个新行

定位命令

在命令模式下进行以下操作:

按键说明
$移至当前行行尾
0移至当前行行首
gg移到第一行行首
G移到最后一行行首
nG移到第n行行首

在末行模式下进行以下操作:

命令说明
:set nu显示行号
:set nonu隐藏行号
:n移到第n行

删除命令

在命令模式下进行以下操作:

命令说明
x删除光标所在的文字
nx删除光标后面的n个字符
X删除光标前面的一个字符
nX删除光标前面的n个字符
dd删除光标所在行
ndd删除从光标所在行开始向下数n行

复制和剪切命令

在命令模式下进行以下操作:

按键说明
yy、Y复制当前行
nyy、nY复制从当前行开始以下n行
p粘贴在当前光标所在行下
P粘贴在当前光标所在行上

替换和取消命令

在命令模式下进行以下操作:

按键说明
r替换光标所在处的一个字符
R进入替换模式,从光标所在处开始替换字符,按Esc结束
uundo 撤销上一步操作

在末行模式下进行以下操作:

s(substitute)指令可搜寻某行列范围

g(global)指令可搜寻整个编辑缓冲区的资料

举例:

:%s/old/new/g # 将文件中所有的“old”替换成“new”
:10,20s/old/new		  #	将第10行至第20行第一次出现“old”的地方替换成“new”
:%s/^/hi/g # 在所有行的行首插入“hi”
:%s/$/goodbye/g	       # 在所有行的行尾添加“goodbye”

保存和退出命令

在末行模式下进行以下操作:

按键说明
:w保存修改
:q退出
:wq保存修改并退出
:q!强制退出
:wq!保存强制退出

系统时间管理

显示系统当前时间和时区

datedate -R

[root@node100 ~]# date

[root@node100 ~]# date -R

格式化输出的选项

选项说明
%Y
%m
%d
%H
%M
%S
[root@node100 ~]# date "+%Y_%m_%d %H:%M:%S"    # 分隔符可自己定义

网络管理

ifconfig

查看当前所有活动网络接口的状态信息,如下图:

[root@node100 ~]# ifconfig

设置主机名

命令:hostname查看主机名

[root@node100 ~]# hostname

CentOS 6修改主机名

编辑文件:/etc/sysconfig/network

[root@node100 ~]# vim /etc/sysconfig/network

CentOS 7修改主机名

编辑文件:/etc/hostname

[root@node100 ~]# vim /etc/hostname

注意:修改完成保存退出。需要重启虚拟机才能生效。

配置主机映射

编辑文件:/etc/hosts

[root@node100 ~]# vim /etc/hosts

设置防火墙

CentOS 6命令

命令说明
service iptables status查看防火墙状态
service iptables start开启防火墙
service iptables stop关闭防火墙

CentOS 7命令

命令说明
systemctl status firewalld查看防火墙状态
systemctl start firewalld开启防火墙
systemctl stop firewalld关闭防火墙

进程管理

ps命令

命令说明
ps查看系统进程的命令
ps -ef查看系统的所有进程的详细信息
[root@node100 ~]# ps -ef

kill命令

命令说明
kill 进程号结束进程
kill -9 进程号强制杀死进程

用户和组

Linux是一个多任务多用户的操作系统,使用ls –l命令显示如下信息:

Linux用户类型

Linux用户信息相关文件:/etc/passwd 和 /etc/shadow

查看文件/etc/passwd 文件的内容

root:x:0:0:root:/root:/bin/bash

Linux组类型

Linux组信息相关文件:/etc/group 和 /etc/gshadow

查看文件/etc/group 文件的内容

hadoop:x:500:

\

用户操作

注意:以下操作必须使用root用户

添加用户

useradd 用户名

设置密码

passwd 用户名

修改用户

usermod -l 新名字 旧用户名

删除用户

userdel -r 用户名
# -r 表示把用户及用户的主目录都删除

组操作

注意:以下操作必须使用root用户

添加组

groupadd 组名

修改组

groupmod –n 新组名 旧组名

添加用户到组

gpasswd –a 用户 组

将组中的用户删除

gpasswd –d 用户 组

删除组

groupdel 组

创建用户指定组

useradd -g 组 用户

文件权限

格式解读

-:标识节点类型(d:文件夹 -:文件 l:链接)

文件文件夹
r可读取内容可以ls
w可修改文件的内容可以在其中创建或删除子节点
x能否运行这个文件能否cd进入到这个目录

数字权限值

除了用字母rwx来表示权限,还可以使用3位数字来表达文件或目录的权限。

每个数字是相应对象指派的以下三个值的和:

读:4

写:2

执行:1

修改权限

使用格式:chmod [选项] 符号 filename 或者 chmod [选项] 数值 filename

示例:

命令说明
chmod u=rwx demo设定demo目录的拥有者有读、写、和搜索或访问的权限,同时保证组和其它用户的原有权限不变
chmod ugo-rw demo
或者
chmod a-rw demo
任何用户对目录demo都没有读和写的权限
chmod -R ugo+rw demo设定所有用户对demo目录及以下所有文件都有读和写的权限
chmod 664 demo设定demo目录的拥有者和组用户有读和写的权限,其他用户只有读的权限

更改文件或目录的所有者和组

注意:以下操作必须使用root用户

命令:chown

只修改

命令说明
chown 用户 文件只更改所有者,而不更改组
chown :组名 文件只更改组,而不更改用户
chown 用户:组 文件同时更改文件的用户和组

计划任务

命令:crontab

功能:

在固定的间隔时间执行指定的系统指令;

时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合;

这个命令非常适合周期性的日志分析或数据备份等工作。

使用格式:crontab [-u 用户] [选项] (-u 用户:用来设定某个用户的crontab服务,若不指定则表示当前用户) 

选项说明

选项说明
-e编辑某个用户的定时任务。
-l显示某个用户的定时任务。
-r删除某个用户的定时任务。

配置文件

*		*	   *		*	    *      command
分 时 日 月 周 命令
第 1 列表示分钟 1~59 每分钟用*或者 */1 表示
第 2 列表示小时 0~23(0 表示 0 点)
第 3 列表示日期 1~31
第 4 列表示月份 1~12
第 5 列标识号星期 0~6(0 表示星期天)
第 6 列要运行的命令

特殊符号说明

“*” 代表取值范围内的数字
“/” 代表“每”, 
“-” 代表从某个数字到某个数字, 
“,” 分开几个离散的数字

配置示例

命令说明
*/10 * * * * echo 1 >> /a.txt表示每隔十分钟向a.txt追加数字1
30 21 * * * echo 1 >> /a.txt表示每晚的 21:30向a.txt追加数字1
55 5 1,15 * * echo 1 >> /a.txt表示每月 1、 15日的 5 : 55向a.txt追加数字1
0,30 18-23 * * * echo 1 >> /a.txt表示在每天 18 : 00 至 23 : 00 之间每隔 30 分钟向a.txt追加数字1
59 23 * * 6 echo 1 >> /a.txt表示每星期六的 11 : 59 pm 向a.txt追加数字1

压缩打包

gzip压缩

使用格式:gzip 文件名

gzip解压缩

使用格式:gzip  -d  *.gz格式的压缩文件

bzip2压缩

使用格式:bzip2  文件名

bzip2解压缩

使用格式:bzip2  -d  *.bz2格式的压缩文件

压缩与解压缩:tar命令

tar打包

使用格式:tar  -cvf  压缩名 文件名/目录
相关参数解释:
c: create,创建压缩文件
v: verbose,显示过程
f: file,指定文件

tar解包

使用格式:tar  -xvf  *.tar格式的打包文件
相关参数解释:
x: extract,解压缩文件,或者叫还原文件

tar打包并压缩(.tar.gz)

使用格式:tar  -zcvf  打包压缩名 文件名/目录
相关参数解释:
z: gzip,通过 gzip 格式压缩或者解压缩

tar解包并解压缩(.tar.gz)

使用格式:tar  -zxvf  *.tar.gz格式的打包压缩文件

tar打包并压缩(.tar.bz2)

使用格式: tar  -jcvf  打包压缩名 文件名/目录
相关参数解释:
j:支持 bzip2 压缩和解压缩

tar解包并解压缩(tar.bz2)

使用格式: tar  -jxvf  *.tar.gz格式的打包压缩文件

正则表达式

正则表达式概述

正则表达式(Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,是一种字符模式,用于在查找过程中匹配指定的字符。
许多程序设计语言都支持利用正则表达式进行字符串操作。
正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。
支持正则表达式的程序如:locate |find| vi| grep| sed |awk

正则的作用:

匹配邮箱、匹配身份证号码、手机号、银行卡号;
匹配某些特定字符串,做特定处理等等。

正则中普通常用的元字符

名词解释:

元字符:指那些在正则表达式中具有特殊意义的专用字符,如: 点 (.) 星(*) 问号(?)等。

前导字符:位于元字符前面的字符. abc* aooo.

元字符功能备注
.匹配除了换行符以外的任意字符
*前导字符出现0次或连续多次
.*任意长度字符ab.*
^行首(以...开头)^root
$行尾(以...结尾)bash$
^$空行
[]匹配括号里任意单个字符或一组单个字符[abc]
 [^]匹配不包含括号里任一单个字符或一组单个字符[^abc]
^[] 匹配以括号里任意单个字符或一组单个字符开头 ^[abc]
^[^]匹配不以括号里任意单个字符或一组单个字符开头

正则中其他常用元字符

元字符功能
\<取单词的头
\>取单词的尾
\< \>精确匹配
\{N\}匹配前导字符连续出现N次
\{N,\}匹配前导字符至少出现N次
\{N,M\}匹配前导字符出现N次与M次之间
\( \)保存被匹配的字符
\d匹配数字
\w匹配字母数字下划线
\s匹配空格、制表符、换页符

扩展类正则常用元字符

扩展元字符功能备注
+匹配一个或多个前导字符bo+匹配boo、bo
?匹配0个或1个前导字符bo?匹配b、bo
``
()组字符(看成整体)(my|your)self:表示匹配myself或者yourself
{N}前导字符重复n次
{N,}前导字符重复至少n次
{N,M}前导字符重复n到m次
表达式功能
[:alnum:]字母与数字
[:alpha:]字符(包括大小写)
[:blank:]空格与制表符
[:lower:]小写字母
[:upper:]大写字母
[:punct:]标点符号
[:space:]包括换行符,回车等在内的所有空白
[:digit:]数字

grep

grep命令是一种强大的文本搜索工具,用于查找文件中符合条件的字符串,它能使用正则表达式搜索文本,并把匹配的行打印出来。

使用格式: grep [选项] "搜索内容" 文件名 [--color (将搜索结果中的搜索内容加颜色)]

常用选项说明
-i忽略大小写
-n输出行号
-v反向查找

示例:

[root@node100 /]# grep q a.txt --color

也可以使用上面的正则表达

[root@node100 /]# grep ^[0-9] a.txt --color

sed

sed是Stream Editor(流编辑器)的缩写,简称流编辑器;用来处理文件的

sed是一行一行读取文件内容并按照要求进行处理,把处理后的结果输出到屏幕。

首先sed读取文件中的一行内容,把其保存在一个临时缓存区中(也称为模式空间)

然后根据需求处理临时缓冲区中的行,完成后把该行发送到屏幕上,由于sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会直接修改原文件。sed主要用来自动编辑一个或多个文件;简化对文件的反复操作,对文件进行过滤和转换操作

使用格式:sed [选项] '处理动作' 文件名

常用选项

选项说明备注
-e进行多项编辑
-n取消默认输出不自动打印模式空间
-r使用扩展正则表达式
-i原地编辑(修改源文件)
-f指定sed脚本名称

常见处理动作

动作说明备注
'p'打印
'i'在指定行之前插入类似vim里的大写O
'a'在指定行之后插入类型vim里的小写o
'c'替换指定行所有内容
'd'删除指定行

示例:

1)打印文件内容
[root@tom ~]# sed  -n 'p'  a.txt           # 打印每一行
[root@tom ~]# sed  -n '1p'  a.txt          # 打印第1行
[root@tom ~]# sed  -n '2p'  a.txt          # 打印第2行
[root@tom ~]# sed  -n '1,5p'  a.txt        # 打印1到5行
[root@tom ~]# sed  -n '$p' a.txt           # 打印最后1行

2)增加文件内容
[root@tom ~]# sed '$a99999' a.txt          # 文件最后一行下面增加内容 
[root@tom ~]# sed 'a99999' a.txt           # 文件每行下面增加内容
[root@tom ~]# sed '5a99999' a.txt          # 文件第5行下面增加内容
[root@tom ~]# sed '$i99999' a.txt          # 文件最后一行上一行增加内容
[root@tom ~]# sed 'i99999' a.txt           # 文件每行上一行增加内容
[root@tom ~]# sed '6i99999' a.txt          # 文件第6行上一行增加内容
[root@tom ~]# sed '/^bin/ih9999'           # 以bin开头行的上一行插入内容

3)修改文件内容
[root@tom ~]# sed '5chello world' a.txt    # 替换文件第5行内容
[root@tom ~]# sed 'chello world' a.txt     # 替换文件所有内容
[root@tom ~]# sed '1,5chello world' a.txt  # 替换文件1到5行内容为hello world
[root@tom ~]# sed '/^bin/c888888' a.txt    # 替换以bin开头的行

4)删除文件内容
[root@tom ~]# sed '1d' a.txt               # 删除文件第1行
[root@tom ~]# sed '1,5d' a.txt             # 删除文件1到5行
[root@tom ~]# sed '$d' a.txt               # 删除文件最后一行
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值