Linux常用命令总结
端口防火墙相关
开放指定端口:
firewall-cmd --zone=public --add-port=5601/tcp --permanent
开启/重启防火墙:
systemctl start firewalld
firewall-cmd --reload
查看端口号:
netstat -ntlp #查看当前所有tcp端口·
netstat -ntulp |grep 1935 #查看所有1935端口使用情况·
1、基本属性:
查看文件属性
1、$ll 或者 ls -l $
2、例如在以下图片中:
-
# 代表是root用户 **$ **表示其他用户
-
文件的第一个属性用$d$表示,$d$ 代表该文件是一个目录文件
- 当为[d]则是目录
- 当为[-]则是文件
- 当为[l]则表示为链接文档
- 链接:软链接和硬链接 命令 $ln -s 源文件名 链接文件名$(不加-s为硬链接)
-
接下来的字符中,以三个为一组,且均为[rwx]的参数组合(read可读、write可写、execute可访问)
- 这三个权限的位置不会改变,如果没有权限,就会出现减号[-]代替
- 从左至右用0-9这些数字来表示
修改文件属性
- chgrp:更改文件属主
- chgrp【-R】属组名 文件名
- 【-R】 递归更改文件属组,就是该目录所有文件都会更改
- chown:更改文件属主,也可以同时更改文件属组
- chown【-R】 属主名 文件名
- chown【-R】 属主名:属组名 文件名
- chmod【-R】:更改文件9个属性
- chmod【-R】xyz 文件或目录
- chgrp【-R】属组名 文件名
- Linux文件属性有两种设置方法,一种是数字,一种是符号
- Linux文件的基本权限就有九个,分别是owner/group/others三种身份各自有自己的read/write/execute权限
小结
- 每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的:各自分数为:r:4 w:2 x:1
- 例如当权限为:[-rwxrw-r--]分数为(二进制相加):764
- owner = rwx = 4+2+1 = 7
- group = rw- = 4+2+0 = 6
- others = r-- = 4+0+0 = 4
- 例如当权限为:[-rwxrw-r--]分数为(二进制相加):764
2、文本操作
文本的复制与粘贴
- 命令模式下的文本复制(复制+粘贴)
- yw:将光标所在位置到字尾的字符复制到缓冲区。
- nyw:将从光标所在位置开始的n个字复制到缓冲区。
- yy:将光标所在的行复制到缓冲区。
- nyy:将光标所在的行开始连续n行复制到缓冲区。
- p:将缓冲区的字符粘贴到光标所在位置。
- 末行模式下的文本复制
- $:行x,行y co 行z$
- 即将文本x-y行的内容,复制到z行下。例如:
- :1, 4 co 5
- 当前编辑的文件1-4行复制到5行下,即原来文件内容新增了4行。
- 即将文本x-y行的内容,复制到z行下。例如:
- 寄存器操作
- 自定义寄存器
- 从当前光标复制n行到指定寄存器a下:命令模式下:输入["anyy]
- 自定义寄存器
3、shell编程
-
shell基础
- 标准输入(stdin) 编号为0
- 输入重定向
wc < /etc/passwd
命令解释:表示读取用户的密码文件的行数、字符数、字节数
- 输入重定向
- 标准输出(stdout) 编号为1
- 输出重定向
ls > ls.out
:将当前目录下所有文件名输出到ls.out文件 - 输出重定向追加
>>
command [参数] >> 文件名wc < /etc/passwd >> ls.out
- 输出重定向
- 标准错误(stderr) 编号为2
- 管道
|
- 特殊字符
- 引号
- 单引号
''
表示普通字符串 - 双引号
""
除" $、\、'、" "
几个特殊字符保留特殊功能外,其余都为普通字符串 - 反引号 (``) 被反引号括起来的命令
- 单引号
- 注释符
- 以
#
开头的正文行表示注释行
- 以
- 引号
- 别名
alias alias-name = 'original-command'
可以简写命令unalias alias-name
取消别名
- 命令历史
history
显示机器的历史命令!历史命令编号
即可执行历史命令
- 标准输入(stdin) 编号为0
-
shell脚本
- 执行方式
./shell 脚本文件名
sh shell脚本文件名
. shell脚本名
- 执行方式
-
shell变量
-
一个变量就是内存中被命名的一块存储空间
-
可以包含数字、字母、下划线,只允许是字母和数字开头
-
大小写敏感、理论上长度无限制
-
有四种变量:用户自定义、环境、位置、特殊
-
用户自定义变量:
var=hello
var="he llo"
echo $hello
定义变量时等号两边不能有空格,若中间有空格要用双引号- 清除变量
unset variable-name
- 清除变量
-
环境变量:大写字母作为变量名
- 常用:
PATH、HOME、PS1
- 常用:
-
位置变量(参数):在执行脚本时用于存放shell脚本名及参数
- test.sh脚本文件内容如下:
echo $0 echo $1 $2 $3 $4 $5 $6 $7 $8 $9 shift echo $1 $2 $3 $4 $5 $6 $7 $8 $9 shift echo $1 $2 $3 $4 $5 $6 $7 $8 $9
- 执行脚本文件
sh test.sh 1 2 3 4 5 6 7 8 9
- 执行结果如下:
test.sh 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 0
-
特殊变量
$@
和$*
:当$@
和$*
不被双引号 " " 包围时,它们之间没有任何区别,都是将接收到的每个参数看做一份数据,彼此之间以空格来分隔。$*
会将所有的参数从整体上看做一份数据,而不是把每个参数都看做一份数据。$@
仍然将每个参数都看作一份数据,彼此之间是独立的。
[root@malongfei /]# set aa bb cc [root@malongfei /]# echo "$@" aa bb cc [root@malongfei /]# echo "$*" aabbcc
-
-
shell编程基础
-
脚本输入/输出
-
输出命令:
echo
-
导出命令:
export
实例如下所示:[root@malongfei tmp]# cat export1.sh var1="this is first variable(var)" export var2="the is export variable" sh export2.sh [root@malongfei tmp]# cat export2.sh echo "$var1" echo "$var2" [root@malongfei tmp]# sh export1.sh the is export variable [root@malongfei tmp]#
-
-
shell的逻辑运算
- 条件测试
test 条件表达式
[ 条件表达式 ]
注意:括号前后需要保留空格,否则会报错error
- 算术运算
- ···
- 条件测试
-
-
4、系统管理基础
4.1. 系统启动、运行、关闭
- 系统启动
- GRUB
- 系统运行级别
- Linux提供7种运行级别(0~6)
- 0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动
- 1:单用户工作状态
- 2:多用户状态(没有NFS支持)
- 3:完全的多用户状态(有NFS),标准运行级别,登陆后进入命令行模式
- 4:系统未使用,保留。
- 5:多用户模式,x11控制台,登陆后进入GUI模式。
- 6:系统正常关闭并重启,默认运行级别不能设置为6,否则不能正常启动
- 运行级别配置文件
vim /etc/inittab
id:3:initdefault:
- 运行级别切换
- 查看运行级别
runlevel
init N
- 查看运行级别
- 系统关闭
- 命令
shutdown
halt
reboot
init
- 示例:
- 立即关机重启
shutdown -r now
- 立即关机
shutdown -h now
- 定时5分钟后关机,且发警告消息
shutdown +5 "system will shutdown after 5 minutes"
- 立即关机重启
- 命令
- Linux提供7种运行级别(0~6)
4.2 用户管理
- 用户类型
- Linux系统中的用户三种类型:可登录的用户类型两种
- 超级用户 root
- 普通用户
- 特殊用户(系统用户):默认情况无法登录
- Linux系统中的用户三种类型:可登录的用户类型两种
- 用户管理方法
- 通过GUI方式管理
- 通过修改相关配置文件管理
- 通过命令管理
- 用户管理相关配置文件
- /etc/passwd文件:存放关于账户相关信息
- /etc/shadow文件:/etc/shadow 的影子文件
- /etc/group文件:存放用户组相关信息
- 用户管理相关命令
- useradd示例:
- 创建用户时指定mlf用户主目录为/mlf:
useradd -d /mlf mlf
- 创建用户时,指定mlf用户属于student组:
useradd -g student mlf
- 创建用户时指定mlf用户主目录为/mlf:
- usermod示例:
- 将用户mlf组名改为user
usermod -g user mlf
- 将用户mlf主目录改为/home/test
usermod -d /home/test mlf
- 将用户mlf的登录shell改为/bin/csh
usermod -s /bin/csh mlf
- 将用户mlf组名改为user
- usedel示例:
- 删除用户及全部用户主目录
userdel -r username
- 删除用户及全部用户主目录
- groupadd
- groupmod
- groupdel
- groups查看自己属组
- useradd示例:
4.3 设备管理
-
设备标识
- 两部分构成:主设备号和次设备号
-
设备管理命令
-
磁盘和分区管理命令
fdisk
fdisk -l /dev/sda2
-
磁盘分区格式命令
mkfs
mkfs -t 文件系统类型 分区设备
-
文件系统检查和修复
fsck
-
查看文件系统的磁盘空间
df
-
统计目录或文件所占磁盘空间的大小
du
-
显示用户或者工作组的磁盘配额信息
quata
-
挂载或卸载设备
mount/umount
-
设置自动挂载:在$/etc/fstab$文件末尾添加:
/dev/cdrom /mnt/cdrom ext3 defaults 0 0
-
-
4.4 进程管理
- 进程分为两类:系统进程和用户进程
- 进程启动
- 手工启动
- 调度启动(at命令、cron命令)
- 管理进程相关命令
ps命令
:观察进程状态top命令
:动态实时显示系统进程状态renice
命令:调整进程优先级renice -number PID
sleep
命令:进程休眠sleep time
at
命令:指定时刻执行指定的命令- 示例:指定/pwd_script 在3:15执行
at -f /pwd_script 03:15
- 示例:指定/pwd_script 在3:15执行
&
命令:后台运行进程kill
命令:杀死后台进程