1.用户操作
1.添加用户
useradd aaa
2.指定目录
useradd -d /home/aaa aaa
3.删除用户
userdel aa
4.删除用户及目录
userdel -r aaa
5.查看用户信息
id aa
6.切换用户
su - aa
7.查看用户
who am i
2.用户组操作
1.添加group
useradd goup1
2.删除group
uerdel group1
3.添加用户到组
useradd -g group1 aa
4.修改用户组
usermod -g group2 aa
3.用户组与用户相关的文件
1.密码文件
/etc/passwd
2.口令配置文件
/etc/shadow
3.组配置文件
/etc/group
4.Linux帮助指令
1.man
2.help
5.文件拷贝
1.拷贝文件
cp a.txt /home/a.txt
2.目录递归拷贝
cp -r /home/test /opt
3.强制拷贝
\cp -r /home/test /opt
6.查看文件
查看文件,带行号
cat -n /home/test.txt
less命令
空白键:向下翻页
pagedown:向下翻页
pageup:向上翻页
/字串:n向下查找,N向上查找
?字串:n向下查找,N向上查找
q:离开less
echo输出变量
echo $HOSTNAME
head命令:默认显示前10行
head -n 10 文件
tail命令:默认显示后10行
tail -n 10 文件
7.文件追加/覆盖指令
> 输出重定向
>> 追加
ls -l >文件
ls -al >> 文件
cat 文件1 > 文件2
echo '内容' >> 文件3
8.文件目录链接
ln -s [源文件或目录] [软链接名]
ln -s /root /home/myroot
删除链接: rm /home/myroot
9.日期类
date:显示当前日期
date+%Y :显示当前年份
date+%m :显示当前月份
date+%d :显示当前日期
设置时间:
date -s 字符串时间
date -s '2020-10-10 10:20:30'
日历:cal
10.搜索查找
find [搜索范围] [选项/-name/-user<用户名>/-size<文件大小>]
find /home -name *.txt
finde /opt -user nobody
find / -size +200M
locate搜索
执行之前,先updatedb
locate hello.txt
which 可以查看某个指令在哪个目录
which ls
grep 查找搜索 -n显示行号 -i 区分大小写
cat /home/hello.txt |grep -n 'yes'
11.压缩解决
gzip/gunzip
gzip 文件
gunzip 文件.gz
zip/unzip
zip -r XXX.zip /home/*
unzip -d /home/temp/ XXX.zip
tar
tar -cvzf aaa.tar.gz /home/aaa.txt /home/bbb.txt
tar -cvzf aaa.tar.gz /home/
tar -xvzf aaa.tar.gz -C /home/temp/
12.权限问题
chgrp 组名 文件名
修改用户所在的组:
usermod -g 新组名 用户名
usermod -d 目录名 用户名
修改目录权限问题:
u:所有者 g:group o:其他other a:所有
chmod u+x aa.txt
chmod u-x bb.txt
chmod 777 cc.txt
13.定时任务
编辑定时任务
crontab -e 进入编辑界面
*/1 * * * * ls -l /etc/ > /tmp/to.txt
*/1 * * * * /home/test.sh
*/1 * * * * mysqldump -u XXXXX > /home/sqlbak.bak.sql
mysqldump -u XXXXX > /home/sqlbak.bak.sql备份数据库
查看定时任务列表
crontab -l
删除定时任务
crontab -r
执行一次,使用at,需要启动atd服务
14.磁盘相关
lsblk
lsblk -f
挂载磁盘:
1) 先添加scis磁盘
2) 添加分区,命令:fdisk /dev/sbd
m:显示命令列表
p:显示磁盘分区,同fdisk - l
n:新增分区
d:删除分区
w:写入并保存
3) 格式化分区,命令:mkfs -t ext4 /dev/sdb1
4) 挂载 mount /dev/sdb1 /newdisk
5) 协助 unmount /dev/sdb1
6) 命令行挂载,重启后会丢失挂载关系
7) 永久挂载:通过修改/etc/fstab实现挂载,添加完成后,执行mount -a 立即生效
查询磁盘使用情况:
df -h
du -h /home
-s:指定目录占用总大小
-h:带计量单位
-a:含文件
--max-depth=1 子目录深度
-c:列出明细的同时,增加汇总值
统计/opt文件夹下的文件的个数:
ls -l /opt |grep "^-" |wc -l
统计/opt文件夹下的目录的个数:
ls -l /opt |grep "^d" |wc -l
统计/opt文件夹下的文件的个数,包括子文件里:
ls -lR /opt |grep "^-" |wc -l
统计/opt文件夹下的目录的个数,包括子文件里:
ls -lR /opt |grep "^d" |wc -l
以树状结构显示:
tree /home
[root@localhost network-scripts]# cat ifcfg-enp0s3
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.43.202"
NETMASK=255.255.255.0
GATEWAY=192.168.43.1
DNS1=114.114.114.114
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="f17ed393-95ad-4bdd-ab43-4228af6a64c3"
DEVICE="enp0s3"
ONBOOT="yes"
[root@localhost network-scripts]#
16.主机名和IP地址
编辑/etc/hosts文件
127.0.0.1 testlfy
17.进程管理
显示系统执行进程:
ps -aux|grep sshd|more
STAT: S:睡眠
R:正在运行
D:短期等待
Z:僵尸进程
T:被跟踪或被停止
重启sshd服务:
systemctl start sshd.service
top -d 10 每隔10秒
M:以内存的使用率排序
P:以CPU使用率
N:以PID大小
u:输入用户名,查看指定用户名查看
18.Service/systemctl
service network start/restart/stop/reload/status
检查启动了哪些服务:
chkconfig --list
设置服务开启/关闭:
chkconfig --level 3 network off/on
systemctl start/restart/stop/reload/status network //stop是临时关闭
systemctl enable/disable/is-enable network//enable/disable是关闭或开起
systemctl list-unit-files |grep network
systemctl status firewalld
19.开启/关闭端口
0.查询端口协议:netstat -anp|grep sshd
1.打开端口:firewall-cmd --permanent --add-port =端口号/协议
2.关闭端口:firewall-cmd --permanent --remove-port =端口号/协议
3.重载后才能生效:firewall-cmd --reload
4.查询端口是否开发:firewall-cmd --query-port=端口/协议
5.netstat -tunlp
20.RPM和YUM
1,查询RPM安装列表
rpm -aq|grep XXX
2.直接查询某个包
rpm -q firefox
3.查询安装信息
rpm -qi firefox
4.查询软件包中的文件
rpm -ql firefox
5.查询文件所属的包
rpm -qf /etc/passwd
6.删除卸载rpm包
rpm -e firefox
7.强制卸载
rpm -e --nodeps firefox
8.安装rpm包
rpm -ivh 包名
1.yum查询list
yum list |grep firefox
2.安装指定应用
yum install firefox
22.Shell脚本
1.Shell变量
1) 字母开头,等号两遍不能有空格,变量名一般为大写
A=100 输出 A=$A
uset A
常量:readonly B=200 无法unset
2) A=`date`将date执行结果,返回给A变量
3) 设置环境变量
export 变量名=变量值 export TOMCAT_PATH=值
source 配置文件 source /etc/profile
echo $变量名 echo $TOMCAT_PATH
4) 位置参数变量
./myshell 100 200
$n:n表示数字,$0代表命令本身,$1-$9代表第一个-第9个参数,${10}
$*:把所有的参数看成一个整体
$@:代表命令中的所有参数,但是$@把每个参数区分对待
$#:所有参数的个数
5)预定义变量
$$:当前进程的进程号PID
$!:后台运行的最后一个进程的进程号PID
$?:最后一次执行的命令的返回状态,如果这个变量的值为0,证明这个命令正确执行,
6)运算符
7) 条件判断
[condition]
eg:
[hasEdu] 返回为true
[] 返回为false
[condition] && echo 'OK'||echo 'notOK'
if [条件判断] then
elif [条件判断] then
fi
8) 流程控制
case $变量名 in
"值1")
值1
;;
"值2")
值2
;;
*)
"值3"
esac
9) for循环
for 变量 in 值1 值2 值3...
do
....
done
for((初始值;循环控制语句;变量变化;))
do
.....
done
10) while
while [条件语句]
do
....
done
标签:opt,10,grep,文件,home,Linux,操作,相关,txt
From: https://www.cnblogs.com/NIAN2011/p/16633376.html