Bootstrap

linux 常用命令

一,目录查看命令 ls

语法:ls 选项[-ald] [文件或目录]

原意:list

1,查看当前目录: ls 

2,查看当前目录所有文件(包括隐藏文件):  ls -a  或 ls -all

 3,查看指定目录的文件:ls [目录路径]

4,查看文件详细信息:ls -l

-rw-rw-r--    

r:查看        w:编辑        x:执行

-(1位):文件类型(-:二进制文件 d:目录 l:软链接文件)

rw-(2-4位):u(所有者)权限:查看,编辑

rw-(5-7位):g(所属组)权限:查看,编辑

r--(8-10位):o(其他人)权限:查看

0:文件大小(单位:B)

10月 23 14:14:更新时间

5, 查看文件详细信息(自动换算单位大小):ls -lh 或 ls -l -h

6,查看目录详细信息:ls -ld [目录路径]

7, 查看目录的i结点:ls -i 

二,目录处理命令

1,创建目录:mkdir

语法:mkdir -p [目录名]

原意:make directory 创建目录

(1) 创建目录:mkdir [目录名]

(2) 递归创建目录 一次创建多级目录:mkdir -p [目录名]

 2,切换目录:cd

原意:change directory 改变目录

(1) 切换指定目录:cd [目录]

(2) 返回上一级目录:cd ..

3,显示当前目录:pwd

原意:print working directory 打印工作目录

4,删除空目录:rmdir

语法:rmdir [目录名]

原意:remove directory 删除目录

5,复制文件或目录:cp

语法:cp -rp [原文件或目录] [目标目录] 

                -r:复制目录

                -p:保留文件属性 

原意:copy 复制

(1) 复制目录:cp -r [原目录] [目标目录]

(2) 复制保留原来属性:cp -p [原文件] [目标文件]

(3) 复制目录后改名:cp -r [原目录] [新目录名称]

 6,移动文件或目录:mv

语法:mv [原文件或目录] [目标目录] 

原意:move 移动

可直接改名 

三,文件处理命令 

1,删除文件:rm

语法:rm -rf [文件或目录]

                -r 删除目录

                -f 强制执行

原意:remove 删除

(1) 删除文件:rm [文件名]

(2) 删除目录:rm -r [目录]

2,创建空文件:touch

语法:touch [文件名]

3,显示文件内容:cat

语法:cat [文件名]

                -n 显示行号

4,显示文件内容(反向序列):tac

5,分页查看文件内容:more

语法:more [文件名]

        (空格)或f         翻页

        (Enter)            换行

            q或Q               退出

6, 分页查看文件内容(可向上翻页):less

        下一页:Pgdn

        上一页:Pgup

        首页:Home

        尾页:end

        上下行:方向箭头 鼠标滚轮

        搜索:/ + 关键词  向下查找 :n

7,查看文件前几行:head

语法:head [文件名]

        -n 指定行数 默认是10

8,查看文件后几行:tail

语法:tail [文件名]

          -n 指定行数 默认是10

          -f 动态显示文件末尾内容

动态查看文件内容(可以实时监控日志)

四,链接命令 生成链接文件 ln

语法:ln -s [原文件] [目标文件]

原意:link

1,生成软连接

特点:

(1)类似于桌面快捷方式,文件夹中是不存在的

(2)文件大小,只是链接的大小

(3)原文件丢失,软链接不能访问

(4)l:表示为软连接文件 权限为rwxrwxrwx

(5)/tmp/issue.soft -> /etc/issue 箭头指向源文件

2,生成硬链接

特点:

(1)拷贝 cp -p + 同步更新

(2)i结点相同

(3)原文件丢失,硬链接可以正常访问

(4)不能跨分区

(5)不能针对目录使用

五,改变文件或目录权限 chmod

语法:chmod [{ugoa} {+-=} {rwx}] [文件或目录]

                       [mode(例:421)] [文件或目录]

                       -R 递归修改

{ugoa}:

        u: 所有人

        g: 所属组         

        o: 其他人

        a:全部人 (上面三个加起来)

{+-=}:

        +:新增权限

        -:减少权限

        =:重新赋予权限

{rwx}:

        r:读取

        w:编辑

        x:执行

原意:change the permissions mode of a file

1,使用 +,- 修改文件权限

给文件的U(所有者)增加X(执行权限) chmod u+x [文件名]

原本权限

修改后

2,使用 +,- 修改文件多个权限

所有者减去执行权限,其他人减去读取权限

3,使用=修改文件权限

给u(所有者)和o(其他人)赋予rwx(读取,编辑,执行)权限

4,使用数字修改权限

r : 4

w:2

x:1

例:rwxrw-r-- 的权限表示为764

(1) 将所有人的权限改为读取

(2)将所有人的权限改为读取和编辑

5,递归修改权限 -R

原来权限

修改cc目录权限为700,可以看到cc目录的权限变了,但是cc目录中的权限没有更改

使用-R命令修改后,cc和cc目录下的文件的权限都为777(rwx) 

6,权限总结

字符权限对目录的含义对文件的含义
r可以列出目录中的内容ls可以查看文件内容

cat

tac

more

less

head

tail

w可以在目录中创建,删除文件

touch

mkdir

rmdir

rm

cp(若没有x权限,只能复制空目录,无法复制目录中内容)

可以修改文件内容vim
x执行可以进入目录cd可以执行文件例:可以执行脚本文件

六,其他权限管理命令

1,改变文件或目录的所有者 chown

语法:chown [用户] [文件或目录]

原意:change file ownership

注意:只有管理员root可以操作

使用root账号创建一个用户

 更改文件的所有人为root123

注意:必须是存在的用户才可以

2,改变文件或目录的所属组 chgrp

语法:chgrp [用户组] [文件或目录]

原意:change file group ownership

创建一个组

改变文件所属组

3,显示、设置文件的缺省权限 umask

语法:umask [-S]

                       -S 以rwx形式新建文件缺省权限

原意:the user file-creation mask

默认情况下创建目录和文件,文件比目录少了执行权限

(1) 查看默认权限

0:特殊权限

0:所有者

2:所属组

2:其他人

实现逻辑:

777 :rwx rwx rwx

022 :- - - -w-  -w-

两者做 "逻辑异或"得出 rwx r-x r-x

(2) 修改默认权限

修改前:

修改默认权限为rwx --- ---

七,文件搜索命令 find

语法:find [搜索范围] [匹配条件]

1,精准搜索文件

2,模糊搜索文件 *

注:root用户直接输入文件名,非root用户需要在文件名加""

3,通配符搜索文件 ?

4,不区分大小写搜索 -iname

5,根据文件大小搜索 -size

6,根据所有者查找 -user

7,根据所属组查找 -group

8,根据修改访问时间查找 -amin

原意:access

查找修改时间40分钟以内,和40分钟以上的文件

9,根据修改文件属性查找 -cmin

原意:change

10,根据修改文件内容查找 -mmin

原意:modify

11,连接多条件查找 -a

12,多条件选其一查找 -o

13,查找出文件后执行操作 -exec/-ok 命令 {} \;

ok:多一步询问信息

14,根据文件类型查找 -type

f 文件 d 目录 l 软链接文件

15,根据i结点查找

根据结点查询文件并删除

八,其他文件搜索命令

1,在文件资料库中查找文件 locate

语法:locate 文件名

注:不能运行命令的话按以下步骤下载安装

1,下载镜像

curl -o /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

2,下载命令 yum install mlocate

都输入y,下载完成 

 3,最后运行 updatedb

查询成功

2,搜索命令所在目录及别名信息 which

3,搜索命令所在目录及帮助文档路径 whereis

4,文件搜索字串匹配的并行输出 grep

语法:grep -iv [指定字串] [文件]

                   -i 不区分大小写

                   -v 排除指定字串     

排除#注释: grep -v ^# [文件]

九,帮助命令

1,获取命令或配置文件帮助 man

语法:man [命令或配置文件]

注意:配置文件不需要绝对路径

原意:manual

翻页:空格

下一行:回车

搜索/ XXX

退出:q

1:命令的帮助 5:配置文件的帮助

2,查看命令作用 whatis

whatis 命令 :查看命令信息

  3,查看配置文件信息 apropos

appropos 配置文件:查看配置文件信息

4,查看命令选项信息 --help

5,info 帮助命令 用法同 man

6,获取shell内置命令的帮助信息 help

十,用户管理命令

1,添加新用户 useradd

语法:useradd 用户名

执行权限:root

2,设置用户密码 passwd

语法:passwd 用户名

用户root123 登录成功 

3,查看登录用户信息 who

(1),登录用户名

(2),登录终端(tty:本地终端 pts:远程终端)

(3),登录时间

(4),登录主机IP地址(没写就说明是本机登录)

4,查看登录用户详细信息 W

14:51:14    当前时间

up 3:54      连续运行3小时54分钟   

7 user        一共有多少用户登录

load average: 0.76, 0.63, 0.44   过去1分钟 5分钟 10分钟 的负载均衡情况

WHAT        用户正在执行什么命令

IDLE          用户登录过来空闲多久了

PCPU        当前登录用户占用CPU时间

JCPU        当前登录用户累计占用CPU时间

十一,压缩解压命令

1,压缩文件 gzip

语法:gzip [文件]

原意:GUN zip

2,解压.gz的压缩文件 gunzip

语法:gunzip [压缩文件]

原意:GUN unzip

3,打包目录 tar

语法:tar 选项 [-zcf] [压缩后文件名] [目录]

                        -c 打包                        -x 解包

                        -v 显示详情信息          -v 显示详情信息

                        -f 指定文件名               -f 指定解压文件

                        -z 打包同时压缩           -z 解压缩 ​​​​​

4,压缩文件或目录 zip

语法:zip 选项 [-r] [压缩后文件名] [文件或目录]

                        -r 压缩目录

5,解压.zip的压缩文件 unzip

语法:unzip [压缩文件]

6,压缩文件 bzip2

语法:bzip2 选项 [-k] [文件]

                             -k  产生压缩文件后保留原文件

7,压缩目录 tar

十二,网络命令

1,给用户发信息 write

语法:write <用户名>

输入完成后 以Ctrl+D保存结束

2,发广播信息 wall

语法:wall [message]

原意:write all

3,测试网络连通性 ping

语法:ping 选项 IP地址

                   -c   指定发送次数

4,查看和设置网卡信息 ifconfig

语法:ifconfig 网卡名称 IP地址

原意:interface configure

5,查看发生电子邮件 mail

语法:mail [用户名]

6,列出目前与过去登入系统的用户信息 last

7,检查某特定用户上次登录的时间 lastlog

指定特定用户 -u

8,显示数据包到主机间的路径 traceroute

例如:访问百度

9,显示网络相关信息 netstat

语法:netstat [选项]

                        -t :TCP协议

                        -u:UCP协议

                        -l:监听

                        -r:路由

                        -n:显示IP地址和端口号

查看本机监听端口

查看本机所有的网络连接

查看本机路由表

10,配置网络 setup

11,挂载命令 mount

语法:mount [-t 文件系统] 设备文件名 挂载点

卸载挂载点

十三,关机重启命令

1,关机命令 shutdown

语法:shutdown [选项] 时间

                             -c:取消前一个关机命令

                             -h:关机

                             -r:重启

2,其他关机命令 

(1)halt

(2)poweroff 

(3)init 0

3,重启命令

(1)reboot

(2)init 6

4,系统运行级别

0        关机

1        单用户

2        不完全用户,不含NFS服务

3        完全多用户

4        未分配

5        图形界面

6        重启

5,退出登录命令 logout

十四,文本编辑器 Vim

1,插入命令

命令作用
a在光标所在字符后插入
A在光标所在行尾插入
i在光标所在字符前插入
I在光标所在行行首插入
o在光标下插入新行
O在光标上插入新行

2,定位命令

命令

作用

: set nu设置行号
: set no取消行号
gg到第一行
G到最后一行
nG到第n行
: n到第n行
$移至行尾
0移至行首

3,删除命令

命令作用
x删除光标所在处字符
nx删除光标所在处后n个字符
dd删除光标所在行,ndd删除n行
dG删除光所在行到文件末尾内容
D删除光标所在处到行尾内容
:n1,n2d删除指定范围的行

4,复制和剪切命令

命令作用
nyy复制当前行
nyy复制当前行以下n行
dd剪切当前行
ndd剪切当前行以下n行
p、P粘贴在当前光标所在行下或行上

5,替换和取消命令

命令作用
r取代光标所在字符
R从光标所在处开始替换字符,按Esc结束
u取消上一步操作

6,搜索和搜索替换命令

命令作用
/string

搜索指定字符串

搜索时忽略大小写:set ic

搜索时不忽略大小写:set no ic

n所有指定字符串的下一个出现位置
:%s/old/new/g全局替换指定字符串
:n1,n2s/old/new/g在一定范围内替换指定字符串

7,保存和退出命令

命令作用
:w保存文件
:w new_filename另存为指定文件
:wq保存修改并退出
ZZ快捷键,保存修改并退出
:q!不保存修改退出
:wq!保存修改并退出(文件所有者及root可使用)

8,导入命令 r !命令

9,定义快捷键:map 快捷键 触发命令

光标在行首插入

跳到行首 删除

ctrl + b

10,连续行注释 n1,n2s/^/#/g

前四行注释

11,替换 ab 替换内容 原本内容

输入 xg 后  按回车

十五,rpm命令管理

1,安装 rpm -ivh 包全名

选项:

        -i (install)        安装

        -v (verbose)        显示详情信息

        -h (hash)        显示进度

        --nodeps        不检测依赖性

2,升级 rpm -Uvh 包全名

选项:

        -U (upgrade)        升级

3,卸载 rpm -e 包名

选项:

        -e (erase)        卸载

        --nodeps        不检查依赖性

4,查询是否安装

(1)查询包是否安装 rpm -q 包名

选项:

        -q(query)        查询

(2)查询所有已经安装的RPM包

选项:

        -a(all)        所有

5,查询软件包详细信息 rpm -qi 包名

选项:

        -i(information)        查询软件信息

        -p(package)        查询未安装包信息

6,查询包中文件安装位置 rpm -ql 包名

选项:

        -l(list)        列表

        -p(package)        查询未安装包信息

7,查询系统文件属于哪个RPM包 rpm -qf 系统文件名

选项:

        -f(file)        查询系统文件属于哪个软件包

8,查询软件包的依赖性 rpm -qR 包名

选项:

        -R(requries)        查询软件包的依赖性

        -p(package)        查询未安装包信息

9,RPM包校验 rpm -V 已安装的包名

选项:

        -V(verify)        校验指定RPM包中的文件

验证内容的具体信息:

S       文件大小是否改变

M       文件的类型或文件的权限(rwx)是否被改变

5        文件MD5校验和是否改变(可以看成文件内容是否改变)

D       设备的中,从代码是否改变

L        文件路径是否改变

U       文件的所有者是否改变

G       文件的所属组是否改变

T        文件的修改时间是否改变

文件类型:

c        配置文件(config file)

d        普通文档(documentation)

g        “鬼”文件(ghost file)很少见,就是该文件不应该被这个RPM包包含

l        授权文件(license file)

r        描述文件(read me)

10,RPM包中文件提取 rpm2cpio 包全名 | cpio -idv .文件绝对路径

rpm2cpio:将rpm包转换为cpio格式的命令

cpio:是一个标准工具,它用于创建软件文件和档案文件中提取文件

语法:cpio 选项 [文件|设备]

                -i:copy-in模式,还原

                -d:还原时自动新建目录

                -v:显示还原过程

十六,yum命令管理

1,查询

(1)查询所有可用软件安装包列表 yum list

(2)搜索服务器上所有和关键字相关的包 yum search 关键字

2,安装 yum -y install 安装

选项:

        install         安装

        -y               自动回答 yes

3,升级 yum -y update 包名

选项:

        update        升级

        -y                自动回答 yes

4,卸载 yum -y remove 包名

选项:

        remove        卸载

        -y                自动回答 yes

5,YUM软件组管理命令

(1)列出所有可用的软件组列表 yum grouplist

(2)安装指定软件组,组名可以由grouplist查询出来 yum grouplist 软件组名

(3)卸载指定软件组 yum groupmove 软件组名

                  

        

;