Skip to main content

01.基础用法

命令详情
# man [命令]
*********************目录******************************
一.文件及目录操作
二,vi
三,vim
四,用户操作
五,帮助命令查看
六,压缩和解压
七,关机
八,运行级别
九,挂载
十,shell脚本
十一,命令日志
十二,文件下载
十三,通配符
十四,任务切换
十五,用户
十六,centos 7 挂载ntfs文件格式
十七,服务详情
十八,文件权限
十九,环境变量
二十,(centos 7 firewalld)开机启动
二十一,rpm包管理
附一:其它命令
附二:常用快捷键


**********************************一.文件及目录操作**************************


cd(change directory);
pwd(print working directory);只能删除空目录
rmdir(remove empty diretary);
rm -r 提示删除目录或文件
rm -rf 无提示强制删除目录或文件 包括 rm -rf / 如:rm -rf wuchuheng/
1,cd ~ 返回用户家目录
cd
2,cd - 返回上次的目录
3,cd .. 进入上级目录
4,cd . 进入当前目录
5,cp [选项] [文件或目录] [目标目录](或改名)
选项:-r 复制目录
-p 连带文件属性
-d 若源文件是链接文件,则复制链接属性
-a 相当于pdr
选项加f 强制,不提示

6,新建文件
vi [文件名] 查看文件
//保存和退出操作,
按ESC进入命令行输入
:q 退出
:w 保存
:wq!保存退出
touch [文件名][...] 新建不打开空文件
7,复制目录 cp -R /[文件夹路径]/ . /[不写路径,默认复制到当前路径]
8,mv [文件或目录] [目标目录](或改名) 移动文件
9,目录说明
/bin/ 和 /usr/bin/ 存放普通用户命令
/sbin/ 和 /usr/sbin 存放超级用户命令
(linux是这样来区分超级用户和普通用户)
/boot/ 启动目录
/dev/ 特殊文件目录。如硬件文件
/etc/ 系统配置文件目录
/lib/ 函数库
/media/ 和 /mnt/ 和 /misc/ 外接设备挂载盘符
/srv/ 和 sys 内在挂载点
/temp/ 临时目录
/usr/
10,链接文件
ln [文件名] [目标文件名] //硬链接相当一个文件2个访问访问方式,就算删除原文件,也可以通过硬链接访问文件。不支持跨分区。能通过i节点识别,如: ls -i [硬链接文件] [原文件]
ln -s [文件名/目录] [目标路径] //软链接 相当于快捷方式
11,文件搜索
locate [文件名] // 从/var/lib/mlocate数据库查找文件名,数据库一天一更新
updatedb //更新数据库。相对于find遍历搜索,locate的配置文件/etc/updatedb.conf 配置过滤的搜索规则
(01), whereis [要查找的命令] //搜索命令的命令。
(02),which [要查看的命令] //查看命令的别名
(03),echo $PATH //
find [文件目录] -name [文件名] //遍历查找
(01), find [文件目录] -name "[文件名]*/?[]" //正则匹配 如:find /root/ -name "[(.|b-z)|a-z]*"
(02), find [指定查找范围文件目录] -iname [文件名] //不分大小文件名
(03), find [目录] -user [使用拥有者] //按拥有者查找
(04), find [目录] -nouser //无拥有者文件,或内核文件或外接数据盘文件,不然就是垃圾文件
(05), find [目录] -atime +10/-10/10 //10天之前修改的文件/10天前当天修改的文件/10天内修改的文件 。其它条件:ctime(改变文件属性时间),atime(访问文件属性时间)
(06), find . -size [文件大小]/+[]/-[] //按文件大小查找,或小于,或大于 ;大于或小于文件: find . -size -60k -a -size +50k //-a(and) -o(or)
(07), find . -inum [节点] //节点搜索
(08), find . +size 10k -a -size 20k -exec rm -rf {} \; find . -size 10k -a +size 1k -exec ls -ahl {} \;

12,文件内容查找
# grep "关键词" [文件1] [文件2] ...
13,修改文件用户组
# chown [-R][用户名]:[用户组] [文件/目录] //修改文件/目录的用户组,[-R]递归到目录每一个的每一个文件,不就是当前目录的
*************************************** 二,vi **********************************

1,复制:
命令模式下,v +移动光标选中要复制的内容+y
2,粘贴:
命令模式下,p


**************************************三,vim****************************************

1,vim 打开多个文件 vim a b c .....
:files //查看当前打开的文件
:bn //下一文件
:bp //上一个文件
:split //同时显示多个文件 :vsplit
Ctrl+w+方向键——切换到前/下/上/后一个窗格
Ctrl+w+h/j/k/l ——同上
Ctrl+ww——依次向后切换到下一个窗格中
2.插入一行文字
echo 插入内容 >> 文件名
3,查找关键词
/[关键词]
n //下一个
p //第一个
4,当前文件路径
:qw
5,撤消修改
(1), :u //撤消上一次的操作
(2), :U //撤消当前行的所有操作
6, 放弃修改
:e!
7,显示行数
1,临时显示
:set number
:set nonumber (不显示行数)
2,默认显示
在配置文件的行头或者行尾加入set number
vim /etc/vimrc
************************************四,用户操作*******************************************

1,ctrl+c //退出用户密码输入
2, sudo usermod -G <group> <user> // 把用户添加进用组


************************************五,帮助*********************************
1,man 的级别
# man [级别数字] [命令]
# man [命令] //默认从第一个级别查看
# man -f [命令] //相当于 # whatis [命令]
# apropos [模糊命令] //模糊搜索命令的帮助文档和命令的全称
(1): 查看命令的帮助
(2): 查看可被内核调用的函数的帮助
(3): 查看函数和函数库的帮助
(4): 查看特殊文件的帮助
(5): 查看配置文件的帮助
(6): 查看游戏的帮助
(7): 查看其它杂项的帮助
(8): 查看系统管理员可用命令的帮助
(9): 查看和内核相关文件的帮助
(可以 # man man //查看更多的信息)
# man -f []


**********************************六,压缩和解压***********************************************

1,格式 :.giz , .gz , .bz2 , .tar.gz , tar.bz2, tar.xz
2,zip格式
(1) # zip [目标文件.zip] [被压缩文件]
(2) # zip -r [目标文件.zip] [被压缩的目录]
3,gz格式(相对于zip,不保留源文件)
(1) # gzip [源文件] //不保留源文件 (
通过新建一个文件可保留这样的源文件,
# gzip -c [源文件] //压缩一个文件并将压缩的内容输出屏幕
# gzip -c [源文件] > [目标文件.gz] //将源文件压缩后的内容写进新建文件[目标文件2] //这要压缩包好像不能解解压缩
)
(2) 解压文件
# gzip -d [压缩源文件]
# gunzip [压缩源文件] //同上
# gunzip -r [目录] 解压目录下的所有.gz压缩包
4,bz2格式(同上不保留源文件,及不压缩目录)
(1),压缩文件
# bzip2 [源文件] //不保留源文件(同上)
# bzip2 -k [源文件] //保留源文件(同上)
(2),解压文件
# bzip2 -d [压缩源文件]
# bunzip2 [压缩源文件]
# bunzip2 -k [压缩源文件] //保留源压缩文件
# bzcat [压缩文件] //输出压缩文件的解压内容
5,tar.gz和tar.bz2文件/目录打包压缩和和解压缩
(1),压缩
# tar -zcvf [目标文件.tar.gz] [源文件/目录] //gz格式
# tar -jcvf [目标文件.tar.gz2] [源文件/目录] //gz2格式
(2),解压
# tar -zxvf [压缩文件.tar.gz] <-C [解压路径]>//gz格式
# tar -jxvf [压缩文件.tar.gz2] <-C [解压路径]>//gz2格式
(3),查看
# tar -ztvf [压缩文件.tar.gz] //查看压缩包的内容
# tar -jxvf [压缩文件.tar.gz2] //查看压缩包的内容
6,zip格式
(1),解压
# unzip -o -d ./ [源文件.zip] //解压文件至当前目录
7,tar.xz格式
(2) 解压
tar xvJf [压缩文件.tar.zx]

*************************************七,关机**********************************************
# shutdown [选项][参数]
1,关机
(1),现在关机
# shutdown -h now
(2),定时关机
# shutdown -h 00:00
# shutdown -h 00:00 $ //后台定时任务
(3),重启
(同上)
2,取消
# shutdown -c


**************************************八,运行级别*******************************************
1,查看系统初始化运行级别配置文件
# cat /etc/inittab
2,查看当前系统运行级别
# runlevel
3,当前运行级别切换
# init [运行等级]


***************************************九,挂载***************************************************
1,查看已经挂载的设备
# mount
2,挂载/etc/fstab配置文件里的所有挂载点(这个文件开机自动挂载所有的挂载点)
# mount -a
3,挂载命令格式
# mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
4,挂载光盘
(1), 新建挂载点(目录)
# mkdir /mnt/cdrom/
(2),挂载光盘
# mount -t iso96660 /dev/sr0 /mnt/cdrom/
(3),卸载光盘
# umount [挂载点
5,挂载U盘

(1), 查看设备的文件名
# fdisk -lib
(2),挂载U盘
# mount -t vfat [设备文件名] [/mnt/[挂载点目录]]
(3),卸载挂载点
同上!
注:默认不支持NTFS文件系统

6,挂载NTFS文件系统
说明:由

************************************* 十,shell脚本*****************************************

1,查看当前调用的shell
echo $SHELL
2,echo 的特殊输出格式
# echo [选项] [输出内容]
(# echo -e "hello world";)
(1),格式输出
\n:换行
\t:tab
\b:backspace
\a:发出警告音
\r:回车
\0:按ACSII表以8进制输出字符
\x:16进制同上
(# echo -e "hello world \n";)
(2),颜色输出
(# echo -e "\e[1;30m hello world \e[0m";)
30m:black;
31m:red;
32m:green;
33m:yellow;
34m:blue;
35m:magenta;
36m:syan;
37m:white;
(3),运行sh文件
1), # chmod 755 [sh文件]
# ./ [sh文件]
2),sh | bash [sh文件]
3,别名
(1),临时别名
1), # alias [定义别名]=[命令]
2), unalias [已定义别名] //删除临时别名
(2),用户别名配置文件
# vim ~/.bashrc
# source ~/.bashrc //调用别名文件,使直接生效
(3),查看别名
# alias
4,多命令执行
(1),格式 [命令1] ; [命令2] ; ...
注:多个命令执行,不会打断,命令间可以没有必然联系
(2),多条命令顺序执行 (逻辑与)
格式: [命令1] && [命令2] && ...
注 :一旦某条命令执行不了,就会中断
(3),或命令执行
格式: [命令1] || [命令2] || [命令3] || ...
注:逻辑或,直到找到一条可执行的命令,就执行一次且中断。
5,管道符(类似于多命令的逻辑与)
格式: [命令1] | [命令2] | ...
注 :将命令的1的结果作为命令2的参数来执行
(如: # ls -ahl | more);
************************************* 十一,命令日志 *************************************
1,标准输出重定向
(1),命令 > 文件
注:以覆盖的方式,将命令的正确输出写入至指定的文件。
(2),命令 >> 文件
注:以追加方式,将命令的正确输出写入至指定的文件。
2,标准错误输出重定向
(1),错误命令 2> 文件
注:(同上(1),只是写入的是报错的内容)
(2),错误命令 2>> 文件
注:(同上(2),只是写入的是报错的内容)
3,正确输出和错误输出保存至一个文件
(1),命令 > 文件 2>&1 (或,命令 &> 文件 )
注:以覆盖的,把正确和错误的输出方式写入同一个文件
(2),命令 >> 文件 2>&1 (或,命令 &>> 文件)
注:以追加的方式,把正确和错误的输出方式写入同一个文件
(3),命令 >> 文件1 命令 2>> 文件2
注:把正确的输出写入文件1,错误的信息写入文件2。

II, 定向输入
1,统计单词量
# wc [...输入单词...,Ctr+d]
选项:
-c:统计字节数
-w:统计单词数
-l:统计行数

2,统计标识符间的字符
格式: # wc << [标识符(要查找的字符串)
注:相当于在档案中统计被标识的字符之间的统计信息
(netstat -an | grep ESTABLISHED | wc -l //统计当前在在线客户端)


************************************* 十二:文件下载 *************************************
1,将下载的文件新建名,下载
# wget -O [文件名] "[下载路径]" &>> [下载日志文本.log] & (后台运行)

************************************* 十三,通配符 *********************************
注:linuc 匹配的是字符数,而不是匹配的次数
1, ? 匹配一字符
2, * 匹配0-n字符
3, [-] 范围匹配
4, [^0-9] 不匹配范围


************************************* 十四,任务切换 **************************************
1,查看后台暂停的任务
# jobs
2,切换任务
# bg %[任务号]
3,将后台中的命令调至前台继续运行
# fg %[任务号]
4,杀掉后台任务
# kill %[任务号]

************************************* 十五,用户 ******************************************
1登录
(1),查看当前登录的用户
# w (# who)
1),user:登录的用户名
2),TTY:登录的终端 tty1(本机),pts(远程终端)
3),FROM:从哪个ip地址登录的
4),Login@:登录时间
5), IDLE:用户登录闲置的时间
6),JCPU:和该终端连接的所有进程的所有占用的时间。这个时间并不包括过去的后台的进程的时间(就是开了在后台开进程后退出,从新登录,占用时间的估计是0)
7),PCPU:当前进程所占用的时间
8),WHAT:当前正在运行的命令
2,所有用户登录记录
# last
3,查看用户最后登录记录
# lastlog
4,踢掉当前指定的登录用户
# pkill -kill -t pts/1
5,退出登录
# logout
6,查看当前计算机有哪些用户
# cat /etc/passwd
7,删除用户
# userdel [用户名]


************************************ 十六,centos 7 挂载ntfs文件格式 *********************


************************************ 十七,服务详情 **************************************
1,服务详情查看
# systemctl status [服务名]
2,查看所有服务
# service -all --status-all
(# netstat)
3,查看服务器的位置
which mysql //查看mysql的启动位置
4,查看所有正在运行的服务
# systemctl status *.service
5,查看启动失败的服务
# systemctl --failed

************************************* 十八,文件权限 *************************************
1,修改文件用户
# chown [-R] 账号名称 文件或目录
2,修改用户组
# chown [-R] 账号名称:用户组名称 文件或目录

************************************ 十九,环境变量 **************************************
[ root@CentOS ~]# vi /etc/profile
在文件末尾加上如下两行代码
PATH=/usr/local/webserver/php/bin:$PATH
export PATH

要是刚才的修改马上生效,需要执行以下代码
[root@CentOS ~]# source /etc/profile

************************************* 二十,(centos 7 firewalld)开机启动 ************************************
一,开机启动和禁开机启动
# systemctl enable firewalld //防火墙开机启动
# sytemctl disable firewalld //停止并禁止开机启动
# systemctl is-enabled postfix.service;echo $? //查看服务是否开机
# systemctl list-unit-files|grep enabled // 查看开机启动列表
二,查看端口
# firewall-cmd --zone=public --list-ports
三,开放端口
# firewall-cmd --zone=public --add-port=80/tcp --permanent //开放80端口
# system restart firewalld.service//重启防火墙生效配置

************************************* 二十一,rpm包管理 *********************************
1,查看已经安装的软件包
# rpm -qa
2,查看软件的安装路径
# whereis mysql //查看mysql 的安装路径
3,卸载
# rpm -e [软件包名]

************************************* 附一:其它命令 *************************************
php [php文件名] 运行php文件

5,命令历史记录
(1),查看
# history
(# vim ~/.bash_history //查看至上次用户退出前的命令)
(2),将本次命令历史合并入.bash_history文件
# history -w
(3),清除命令
# history -c //清除 # history 的命令
(4),修改history文本的限定条数配置
vim /etc/profile
/HISTSIZE=
(5),执行第n条命令
# !n
(6),重复执行上一条命令
!!
(7),重复执行以[字符串]开头的最近一条命令
# ![字符串
6,重启网上
# service network restart
7,多按 Tab键审查命令的正确以及路径的提示
8,查看网络端口连接
# netstat -an
*********************************** 附二:常用快捷键 *************************************
1,ctrl + c 强行终止当前的命令
2,ctrl + l 清屏
3,ctrl + a 将光标移到命令行头
4,ctrl + e 将光标移到命令行尾
5,ctrl + u 将光标所在的位置删除至行行首
6,ctrl + z 把命令放到后台,并停止运行
7,ctrl + r 在历史命令中搜索

2 开启和关闭网卡

$ ifdown <网卡名>
$ ifup <网卡名>

3 查看文件和目录在大小

$ du -h --max-depth=<level> <path>

4 Chattr文件锁定

$ chattr -i <path> # <-- 解锁文件或目录
$ chattr +i <path> # <-- 锁定文件或目录