1、Linux的基本命令格式
1.1、常用命令
1.1.1、[root@M001 ~]#
root
:当前登录的用户
@
:分隔符号
M001
:计算机名称
~
:当前用户所在的路径
#
:代表超级管理员 $
:代表普通用户
1.1.2、ls /
查看根目录下文件
1.1.3、cd
1、cd ~
:进入当前用户的家目录
2、cd -
进入上次目录
1.1.4、rmdir [目录名]
remove empty directory
没有以/开头的都是相对路径
以/开头的都是绝对路径,从根目录/开始查找
1.1.5、搜索命令
1、whereis
命令 搜索命令所在的路径及帮助文档所在位置
-b
只查找可执行文件
-m
只查找帮助文档
2、which
搜索文件所在的路径及别名
1.1.6、find
[搜索范围] [搜索条件](搜索文件)
1、find / -name install.log
搜索文件名称 install.log
2、find /root -iname install.log
不区分大小写
3、find /root -user root
按照所有者搜索 find /root -nouser root
4、find /etc -size +20k -a -size -50k
查找/etc/目录下,大于20KB并且小于50KB的文件
-a
and
逻辑与,两个条件都满足
-o
or
逻辑或,两个条件满足一个即可
5、find /etc -size +20k -a -size -50k -exec ls -lh {} \;
查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
-exec {} \;
这是固定格式
6、find . -size 25k
查找文件大小是25KB的文件,注意k是小写的.
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
7、find /var/log -mtime +10
查找10天前修改的文件
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime
文件访问时间
ctime
改变文件属性时间
mtime
修改文件时间
1.1.7、grep
[选项] 字符串 文件名(搜索字符串)
-i
忽略大小写
-v
排除指定字符串
-n
显示行号
1.1.8、压缩与解压缩命令
1、zip
zip -r
压缩文件名 原文件
unzip
压缩文件名
2、gz
gzip 原文件
压缩为.gz格式的压缩文件,原文件会消失
gzip -c 原文件 > 压缩文件
压缩为.gz格式,原文件保留
-c
的意思不是说需要保留文件,而是要把压缩的结果输出到控制台.
>
的意思是把结果输出到什么地方去.
gzip -r
目录
压缩目录下的所有子文件,但是不能压缩目录
gzip -d 压缩文件
,解压缩文件
gunzip 压缩文件
3、.bz2
bzip2 -k 源文件
参数-k
压缩之后保留源文件,否则不保留源文件
bzip2 -d -k 压缩文件
或者 bunzip2 -k 压缩文件
参数-k
解压缩后保留压缩文件,否则不保留
4、打包命令:
tar -cvf 打包文件名 源文件
-c
打包
-v
显示过程
-f
指定打包后的文件名
tar -xvf 打包文件名
-x 解打包
5、.tar.gz
格式
tar -zcvf 压缩包名.tar.gz 源文件
-z 压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
-x 解压缩.tar.gz格式
加上-C表示解压到指定的目录
tar -zxvf 压缩包名.tar.gz -C 指定目录
6、.tar.bz2
tar -jcvf 压缩包名.tar.bz2 源文件
-c 压缩为.tar.bz2格式
tar -jxvf 压缩包名.tar.bz2
-x 解压缩为.tar.bz2格式
1.1.9、关机重启命令
1、shutdown
关机或重启命令
-c 取消前一个关机名,-h 关机,-r 重启
2、关机:halt
、poweroff
、init 0
3、重启:reboot
、init 6
4、查看运行级别:runlevel
5、系统默认运行级别:cat /etc/inittab
6、退出登录:logout
1.2、其他命令
1.2.1、用户登录信息查看
1、w
命令输出:
USER
登陆的用户名
TTY
登陆终端
FROM
从哪个IP地址登陆
LOGIN@
登陆时间
IDLE
用户闲置时间
JCPU
指的是和该终端连接的所有进程占用时间.这个事件并不包括去后台作业的时间,但却包括当前正在运行的后台作业所占用时间;
PCPU
是指当前进程所占用的时间
WHAT
当前正在运行的命令
2、who
命令输出:用户名、登陆终端、登陆时间(登陆来源IP地址)
1.2.2、last
查询当前登陆和过去登陆的用户信息
last
命令默认时读取/var/log/wtmp
文件数据
命令输出:用户名、登陆终端、登陆IP、登陆时间、退出时间(在线时间)
1.2.3、查看最后一次登陆时间:lastlog
lastlog
命令默认时读取/var/log/lastlog
文件内容
命令输出:用户名、登陆终端、登陆IP、最后一次登陆时间
1.2.4、磁盘使用情况:df
df
:用于显示磁盘的使用情况
df -h
: 格式化显示输出磁盘使用情况
1.2.5、查看任务进程:top
任务进程
第一行:
10:01:23 — 当前系统时间
126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users — 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
第二行:
Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
第四行:内存状态
8306544k total — 物理内存总量(8GB)
7775876k used — 使用中的内存总量(7.7GB)
530668k free — 空闲内存总量(530M)
79236k buffers — 缓存的内存量 (79M)
第五行:swap交换分区
2031608k total — 交换区总量(2GB)
2556k used — 使用的交换区总量(2.5M)
2029052k free — 空闲交换区总量(2GB)
4231276k cached — 缓冲的交换区总量(4GB)
第五行以下:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
1.2.6、查看内存占用:free
内存占用情况:
total
:内存总数;
used
:已经使用的内存数;
free
:空闲的内存数;
buffers Buffer
:缓存内存数;
cached Page
:缓存内存数。
1.2.7、查看操作历史:history
用于显示执行过的历史命令记录
1.2.8、在显示器输出内容:echo
1.2.9、文件查看命令
1、cat
2、tail
默认在屏幕上显示指定文件的末尾10行
参数:
-f
显示文件最新追加的内容。
-行数
在屏幕上显示指定文件的末尾参数设置的行数
2、vi编辑器
2.1、编辑器的三种模式:
编辑模式(命令模式) :所有的机键动作都会理解为编辑整个文档的操作,默认为编辑模式
输入模式:大部分机键动作都会理解为输入的字符
末行模式:在末行模式,输入很多文件管理命令
1、编辑-->输入
i
:在光标所在字符前开始插入
a
:在光标所在字符后开始插入
o
:在光标所在行的下面另起一新行插入
s
:删除光标所在的字符并开始插入
I
:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入
A
:在光标所在你行的行尾开始插入
O
:在光标所在行的上面另起一行开始插入
S
:删除光标所在行并开始插入
2、输入模式-->编辑模式
ESC
(键盘左上方的按键)
3、编辑模式--->末行模式:
末行模式:-->编辑模式
ESC
(键盘左上方的按键)(一次或者多次)
2.2、打开文件
vi /path/to/file
wq
: 保存退出、q!
: 退出不保存
2.3、移动光标
1、逐字符移动:
h
:左移动、l
:右移动、j
:向下移动、k
:向上移动
2、行内跳转:
0
:跳转到行首、$
: 跳转到行尾
3、行间跳转;(末行模式)
num
: 跳转到某一行(末行模式)
G
: 跳转行最后一行(编辑模式)
gg
: 跳转到第一行(编辑模式)
2.4、翻屏操作
在编辑模式下:ctrl+f
向下翻一页、ctrl+b
向上翻一页
2.5、删除操作
dd
: 删除光标所在行 (编辑模式)
3dd
:从光标行开始删除3行(编辑模式)
: 1,4d
删除第一行到第四行(末行模式)
2.6、复制粘贴
yy
复制光标所在行 (编辑模式)
2yy
从光标行开始复制2行(编辑模式)
p:
粘贴命令
2.7、查找替换
文件的查找
/parttern
从前往后、?parttern
从后往前
n
: 下一个匹配的字符串、N
: 上一个匹配的字符串
文本的替换(末行模式)
startNum,endNums/partter/string/gi
g
:全局替换
i
:忽略大小写
%s/f/F/gi
:.,$s/F/f/gi
3、权限管理
3.1、用户管理
1、useradd
创建用户 :useradd [用户名]
创建用户并分配一个组:useradd -G [组名] [用户名]
查看系统用户:cat /etc/passwd
2、groupadd
查看系统用户组:cat /etc/group
3、usermod
修改用户组属性
usermod -G [组名] [用户名]
4、userdel
删除用户:
-f
:强制删除用户,即使用户已登录
-r
:删除与用户相关的所有文件。
5、groupdel
6、passwd
/etc/shade
3.2、文件基本权限
3.2.1、基本权限的修改
1、文件权限解释
-rw-r--r--
// 文件类型(- 文件 d 目录 I 软链接文件)
// rw- r-- r--
// u所有者 g所属组 o其他人
// r:4读 w:2写 x:1执行
2、chmod
命令
chmod [选项] 模式 文件名
// -R 递归
// [guoa] [+-=] [rwx]
// [mode=421]
3、修改权限方式
chmod u+x 文件
给当前用户添加指定文件的x执行权限
chmod g+w,o+w 文件
给该文件用户组合其他人添加指定文件的w写的权限
chmod a=rwx 文件
给该文件的当前用户,当前组,其他人 添加rwx可读可写可执行的权限
3.2.2、其他权限命令
1、修改文件的所有者
chown 用户名 文件名
2、修改文件的所属组
chgrp 组名 文件名
3.2.3、sudo
权限
root把本来只能超级用户执行的命令赋予普通用户执行.
sudo的操作对象是系统命令
visudo
实际修改的是/etc/sudoers
文件
4、系统服务管理
1、进程查看:ps
ps -ef
显示结果
UID
用户ID
PID
进程ID
PPID
父进程ID
C
CPU占用率
STIME
开始时间
TTY
开始此进程的TTY----终端设备
TIME
此进程运行的总时间
CMD
命令名
2、杀死进程
kill -9 pid
5、网络管理
1、ifcfg-eth
解释:
文件/etc/sysconfig/network-scripts/ifcfg-eth0
在/etc/sysconfig/network-script
在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0
是默认的第一个网络接口,如果机器中有多网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3......
(这里面的文件是相当重要的,涉及到网络能否正常工作)。
TYPE=Ethernet
#网卡类型
DEVICE=eth0
#网卡接口名称
ONBOOT=yes
#系统启动时是否自动加载
BOOTPROTO=static
#启用地址协议 --static
:静态协议 --bootp
协议 --dhcp
协议
IPADDR=192.168.1.11
#网卡IP地址
NETMASK=255.255.255.0
#网卡网络地址
GATEWAY=192.168.1.1
#网卡网关地址
DNS1=8.8.8.8
#网卡DNS地址
BROADCAST=192.168.1.255
#网卡广播地址
查看ip:
ip addr
2、防火墙
centos7
的防火墙程序服务名为:firewalld
防火墙配置命令:firewall-cmd
防火墙帮助:
fireweall-cmd --help
查看防火墙状态:
firewall-cmd --state
查看所有打开的端口:
firewall-cmd --zone=public --list-ports
开启端口:
firewall-cmd --zone=public --add-port=端口号/tcp --permanent
(--permanent
参数为永久生效,不加则重启后失效)
更新防火墙规则:
firewall-cmd --reload
删除端口:
firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
网友评论