网络操作系统(Linux)
---终端命令语句
pwd:获取当前路径
从/开始的路径都是绝对路径
/:根目录
*:一切
cd:切换路径
touch:建立文件
rm :删除文件
clear :清屏
history:历史命令__比如history 10指最近10条命令
remove:删除命令
cd.
cd .. :回到上一级桌面
cd -上一级命令所在路径
mkdir 文件夹建立
whoami/who am i 显示我是谁
date查看日期
date+%y只看年的后两位数字
date+%Y只看年
cal看日历
ls/ls-l当前路径全部内容
ls -a隐藏文件显示
ls--help查关于ls的所以命令
--help/man 查相关信息
Ctrl+A光标回到命令行首
Ctrl+c调转下一条命令语句
Ctrl+u光标往前删干净
Ctrl+k光标往后删干净
Ctrl+e光标回到命令行末
Ctrl+x光标的首尾切换
上下键可以找
l+两次tab键加y查看所以命令
date +%y看年后两个数字
date +%Y看年
whatis date 修改时间
cal 2018表示查看2018年的日
alias xxx-‘yyy’
ln file3 file4 file3包含file4的全部内容
ln-s file5 file6 file6(链接文件,不占内存)的快捷方式指向file5
cat file3 查看内容
touch file(5,6) 新建file5和file6
切换账号的方法:
1: su - root
exit
2: su
exit
3: su- root
exit
4: su –
Exit
root到别的账号免密,别的到root需要密码
file file6查看文件或文件夹的内容(大小,权限,设备…)
stat file3 查看文件或文件夹的内容
rm-f强制删除文件
rm-i:忽略询问信息,直接删
rm-r:不管文件或文件夹下有什么东西,全部删完
rm-r-/* :毁系统(别用)
wc file10(word count):出现1(行line) 1 (列 word)5(字符 charactor) file10
cp /etc/passwd /home/tomy/ passwd 从/etc/passwd复制到/home/tomy/passwd
cat /home/tomy/passwd 查看/home/tomy/passwd的内容
more /home/tomy/passwd 查看/home/tomy/passwd的内容,一条一条查看
less /home/tomy/passwd查看/home/tomy/passwd的内容,一次看完
head-n 5 /home/tomy/passwd 看前5行,默认10行(head /home/tomy/passwd)
tail-n 5 /home/tomy/passwd看后5行,默认10行(tail /home/tomy/passwd)
mkdir aa 相对路径(当前文件路径下建文件夹)
mkdir /home/tomy/aa 绝对路径(tomy路径下建文件夹)
mkdir –p /home/test/aa 当前根目录下,一层一层不存在自动新建,(权限不够调到root下,即/home/root/aa)
2018-10-08号
vim file1.txt:进入命令模式:
按i:光标之前插入字符
Esc:退出插入
a:光标之后插入字符
o:光标前一行插入空白行
I:光标这一行首插入字符
A:光标这一行尾插入字符
O:光标前一行插入字符。
:w(退出) :q(退出) :wq(退出) :!q(强制退出)
:/a(查找a)
:set nu(加行号(生效一次))
:set nonu(去行号(生效一次))
u(后退) ctrl+r(前进)
young
:s# # #g(有g修改光标所指的一行,没g修改光标指的那个)
Old
young
:1,$ s# # #g(修改整篇)
Old
eyy p(复制光标所在的行) nyy p(复制粘贴) ndd p(剪切粘贴)
x(删除光标选中)
r+0/1/2/a/…(修改光标的内容为0/1/2/a/…)
shift+ZZ(保存退出)
Ctrl+v然后y 然后p(复制整块)
Ctrl+v然后x(删除备注)
Ctrl+v 然后光标向下几行然后大写i然后按esc
:sp(分屏)
Ctrl+w (光标移到下一屏) Ctrl+ww (光标回到上一屏)
进程:
Pstree:所有进程
firefox:打开火狐
pstree| grep –I firefox 只查看火狐进程
ctrl+shift+t:打开多个标签
ps:查看进程
ps|head:查看进程
ps –ef: 查看进程
ps –ef|head: 查看首个进程
ps aux|head:查看电脑当前所以进程
ps –ef|grep firefox:查看包括本身的进程
ps –ef|grep –v grep|grep firefox:查看不包括本身的进程,即只有火狐
pgrep firefox:模糊查找
pidof firefox:精确查找
ps –ex –o pid,%cpu|head:查找pid和%cpu这两行
关进程: pgrep firefox 然后 kill -2 6967
关进程:kill -2 $(pgrep firefox)
关进程:killall -2 firefox
以上三种关不了用killall -9 firefox强制关闭
Ctrl+z:刚刚执行的进程停止并放到后台 查看还在否:jobs(查看后台) bg 1(运行后台***为1的命令)然后jobs此时后台进程运行 kill -9 %1(杀死***为1的进程)
fg 1:后台的东西调到前台来
firefox &:让他放到后台跑
nohup firefox &> /dev/null & :放到后台/dev/null下运行
useradd java2jva2:添加用户
echo redhat|passwd –stdin java2jva2:给新添加的用户设置密码
userdel -r java2jva2:删除用户
添加用户到指定目录:
# useradd -c 'ianjjaavvaa' -s /sbin/nologin \ 回车后 -M -g jerry -u 2000 jjaavvaa
更改指定日期:
chage -m 10 -M 30 -W 5 -I 3 -d 2008-10-14 \ 回车后 -E 2018-12-31 jjaavvaa
groupadd class 添加组
groupdel class 删除组
gpasswd -a jjaavvaa class: 将用户“jjaavvaa”加入到“class”组中
passwd -d jerry:免密
ls -l|grep pass :查找
chown . yang passwd: 把yang过户给passwd
chown yang.yang passwdbk:把yang(user)和yang(group) 过户给passwd
chgrp java2 passwd:
r:4
w:2
x:1
chown yonghu file:递归修改
chown -R yonghu directory:递归修改
文件夹的最高权限:777
文件的最高权限:666
Umask=0022/0033
(文件的umask奇数位-1,文件夹不变)
su -:跳转上一目录。
su - jerry:跳转到jerry目录
# which passwd:查看passwd所在的目录
特殊权限:
- 可执行命令的所有者上面出现了s,别的角色执行这个命令时,临时具有了这个命令的最高权限:
2.当前群组目录上面出现了s,别的角色进入这个目录新建文件或文件夹,新建的文件或文件夹永久具有了这个群组
:Chmod g+s s2
Ls –l
cd..
cd /tmp
ls –l|grep s2
su – java2jv2
cd /tmp/s2
mkdir xxx
touch yyy.txt
ls –l
3.其他者上面出现了t,那当前目录下全部都不能删除该目录下的所有东西
: chmod o+t t
Ls -l|grep t
隐藏权限:+a:只能多不能少 +i:不能动
ls -a:查看隐藏文件
查找:
find /tmp/ -name "a*":按姓名查找
find /tmp/ -group jerry:按group查找
find /tmp/ -user jerry:按user查找
find /tmp/ -group jerry -o -user jerry: 按group查找和user查找
find /tmp/ -size 2k:按大小
find /tmp/ -type f:按文件查找
find /tmp/ -type d:按文件夹查找
find /tmp/ -perm 644:精确查找
2018/10/29
lsblk:查看磁盘分区
parted /dev/sdb mklabel msdos:标量
fdisk –l:分区
fdisk /dev/sdb:分区
mkfs -t xfs /dev/sdb1:文件
Partprobe /dev/sd?:系统盘手动同步
mkfs -t xfs /dev/sdb1 :给sdb1赋予文件系统
补齐命令:连续点两下tab键
挂载:
mkdir 20181029
mount /dev/sdb1 20181029 (挂载只一次,关机重开就不在)
df –hT (查看是否挂载成功)
vim /etc/fstab:永恒挂载
pvscan:查看内存
lvextend -L +300M /dev/vg0/lv1:扩大
pvcreate /dev/sdb{5..9}:新增5~9
vgextend vg0 /dev/sdb{8..9}:扩展vg
umount /root/2018102902:卸挂载
xfs_growfs /root/2018102902:自我膨胀(xfs格式)
resize2fs /dev/vg0/lv1
mkfs.ext4 /dev/vg0/lv1
2018/11/5
查看系统
关闭状态:systemctl stop sshd
查看状态:systemctl is-active sshd
重开状态:systemctl restart sshd
查看是否开:systemctl is-enabled sshd
开机开起来:systemctl is-enabled sshd
开机关状态:systemctl disable sshd
禁用:systemctl mask sshd
解禁:systemctl unmask sshd
查看命令:systemctl status sshd –l
查看:ls /usr/lib/systemd/system/sshd.service
查看:cat /usr/lib/systemd/system/sshd.services
----------到此为止系统完
网络:
查看网卡的信息(活跃的):ifconfig
查看网卡的信息(所有的):ifconfig –a
查看网卡的信息(具体的):ifconfig eno16777728
查看路由表:route –n
查看dns服务器:cat /etc/resolv.conf
查看是否有网卡连接:nmcli connection
删除eno16777728网卡连接:nmcli connection delete eno16777728
编辑:vim /etc/default/grub
文件生效:grub2-mkconfig -o /boot/grub2/grub.cfg
重启:reboot
打开网络连接窗口:nm-connection-editor &
查看网址:ping www.baidu.com
2018/11/26
归档和压缩
1.归档(打包):tar java2.tar a*.txt
Tar tf java2.tar
解归档:tar xvf java2.tar –C /opt/
2.归档:dd if=/dev/zero of=file1 bs=1M count=100
压缩方法一:
压缩:gzip file1
解压缩:gzip -d file1.gz
压缩方法二:
压缩:bzip2 file1
解压缩:bzip2 -d file1.bz2
归档加压缩:tar jcvf hello.tar.bz2 hosts passwd services
解压缩:tar jxvf hello.tar.bz2 –remove files
两机互传(linux互传)
V002的java1.tar.gz传到v001:scp/opt/java1.tar.gz 192.168.26.101 /opt/
把v001的text传过来:scp [email protected]:/opt.text .
两机互传(linux和电脑互传)
rz:电脑传到linux
sz:linux传到电脑
查询包
根据文件查来自哪个包:rpm –qf /etc/vsftpd/vsftpd.conf
查看用的什么包:rpm –qf /etc/passwd
查看用的什么包rpm –qf $(which ls) 例:rpm –qf $(which ifconfig)
已存在的包不卸载重新安装:rpm –ivh vsftpd- 3.0.2-9.el7.x86_64.rpm –force
Rpm –Uvh vsftpd- 3.0.2-22.el7.x86_64.rpm
Rpm –e vsftpd
Rpm –qa|grep vsftpd
[aa]
name=aaaaaa
baseurl=ftp://vms001/dvd //连接到vms001
enabled=1 //确实要使用
gpgcheck=0 //开关(不启用)
Yum groupinstall xxx //安装可用组xxx
Yum groupremove xxxxxx //卸载
Yum list zabbix\* //查看可安装的包
Wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-rel7.noarch.rpm //下载包rpm –ivh zabbix-release-4.0-1.el7.noarch.rpm 安装包
Env:浏览环境变量
Vim xx.sh进入命令模式
#!/bin/bash
A=10
B=20
if [ $A -lt $B ] //命令不用$符号 ,使用一定用到$符号
then
echo "A xiaoyu B"
fi
跳出后
Chmod u+x xx.sh //保存
Sh xx.sh //运行
Vim num3.sh进入命令模式
//单个数字的交互
#!/bin/bash
read -p "enter a number:" num
A=100
if [ $num -lt $A ]
then
echo "xiaoyu $A"
else
echo "dayu huo dengyu SA"
fi
//多个数字的交互
#!/bin/bash
read -p "enter a number:" num1 num2 num3
A=100
if [ $num -lt $A ]
then
echo "xiaoyu $A"
else
echo "dayu huo dengyu SA"
fi
//输入两个数,输出两个数从小到大的和
#!/bin/bash
read -p "enter two number:" num1 num2
tmp=0
sum=0
if [ $num1 -lt $num2 ]
then
tmp=$num1
sum=$num1
while [ $tmp -lt $num2 ]
do
let tmp++
let sum=$sum+$tmp
done
echo "num1:$num1,num2:$num2,sum:$sum"
else
tmp=$num2
sum=$num2
while [ $tmp -lt $num1 ]
do
let tmp++
let sum=$sum+$tmp
done
echo "num1:$num1,num2:$num2,sum:$sum"
fi
两页ppt阐述服务是干嘛的
Ppt讲解5-10分,详尽,有文字有截图(一步一步)
每个人3题,满分15分
2018/12/10
脚本编程
[[email protected] ~]# a="123 123"
[[email protected] ~]# echo $a
123 123
[[email protected] ~]# b=1+2
[[email protected] ~]# echo $b
1+2
[[email protected] ~]# declare -i c
[[email protected] ~]# c=1+2
[[email protected] ~]# echo $c
3
[[email protected] ~]# echo "scale=3;1/3"|bc
.333
[[email protected] ~]# echo $$
2754
[[email protected] ~]# bash
[[email protected] ~]# echo $$
3094
[[email protected] ~]# exit
exit
[[email protected] ~]# echo $$
2754
[[email protected] ~]# echo $a
123 123
[[email protected] ~]# echo $b
1+2
[[email protected] ~]# echo $c
3
[[email protected] ~]# bash
[[email protected] ~]# echo $a
[[email protected] ~]# echo $b
[[email protected] ~]# echo $c
[[email protected] ~]# exit
exit
[[email protected] ~]# export d=9
[[email protected] ~]# echo $d
9
[[email protected] ~]# bash
[[email protected] ~]# echo $d
9
[[email protected] ~]# export e=8
[[email protected] ~]# echo $e
8
[[email protected] ~]# exit
exit
[[email protected]vms002 ~]# echo $e
[[email protected] ~]# vim aaa.sh
[[email protected] ~]# cat aaa.sh
#i/bin/bash
echo "the third is $3"
echo "the second is $2"
echo "the first is $1"
[[email protected] ~]# sh aaa.sh tom jerry lucas
the third is lucas
the second is jerry
the first is tom
[[email protected] ~]# set a b c d e f g h i j
[[email protected] ~]# echo $1
a
[[email protected] ~]# echo $2
b
[[email protected] ~]# echo $10
a0
[[email protected] ~]# echo ${10}
j
[[email protected] ~]# zz=book
[[email protected] ~]# echo "today I buy ten ${zz}s, total use \$100"
today I buy ten books, total use $100
[[email protected] ~]# aa=10
[[email protected] ~]# let bb=aa++
[[email protected] ~]# echo $aa
11
[[email protected] ~]# echo $bb
10
[[email protected] ~]# cc=10
[[email protected] ~]# let dd=++cc
[[email protected] ~]# echo $cc
11
[[email protected] ~]# echo $dd
11
[[email protected] ~]# echo $((2*9-8))
10
[[email protected] ~]#
[[email protected] ~]# echo $((2**10))
1024
[[email protected] ~]# echo $[2**10]
1024
echo $?:判断语句语法,权限是否正确(0正确)
#!/bin/bash
cat <<EOF
******welcome to shell******
EOF
read -p "enter your choice(y/n) " answer
case $answer in
y)
minglingxulie1
n)
minglingxulie2
*)
echo "bu qidai de shuru"
exit 1 //退出命令,不执行后面的
esac
minglingxulie3
//判断是否为数字,是数字判断是否在0-120 ,60-120老年 。。。
#!/bin/bash
read -p "Please input an number: " num
[[ $num =~ ^[0-9]+$ ]]
if [ $? -ne 0 ]; then
echo "don't a number"
exit 1
fi
if [ $num -gt 120 ] || [ $num -lt 0 ]; then
echo "don't limit age"
exit 1
elif [ $num -ge 60 ] && [ $num -le 120 ]; then
echo "old people"
elif [ $num -ge 18 ] && [ $num -lt 60 ]; then
echo "young people"
else
echo "kid"
fi
数字大于100或小于0