命令 && echo yes || echo no
netstat -an # 所有的网络服务
netstat -an | grep "xx"
grep [选项] 搜索内容 # 提取文件中的内容
-i 忽略大小写
-n 输出行号
-v 反向查找
--color=auto 搜索出的关键字用颜色显示
变量分类:
用户自定义变量: 只在当前的shell中生效
aa=123
echo $aa
变量叠加:
aa="$aa"456 aa=${aa}456
echo $aa
变量查看: echo $变量名 set
变量删除: unset 变量名
环境变量: 在当前shell和此shell的所有子shell中生效,如果把环境变量写入相应的配置文件,则会在所有shell中生效
申明变量: export 变量名=变量值
export 变量名 已经存在的本地变量变为环境变量
查看环境变量: env
删除变量: unset 变量名
系统环境变量: 系统查找命令的路径
echo $PATH
PATH变量叠加: PATH="$PATH":/root/sh
系统提示命令变量: PS1
位置参数变量:
$n $0代表命令本身,$1-$9代表第一到第九个参数
$* 命令行中的所有参数,$*把所有参数看成一个整体
$@ 命令行中的所有参数,$@把每个参数区分对待
$# 代表命令行中的所有参数
!/bin/bash
for i in "$*"
do
echo $i
done
for y in "$@"
do
echo $i
done
chmod 755 XXX.sh
预定义变量:
$? 最后一次执行命令的返回状态,0为上一个命令正确执行,非0为上一个命令执行不正确
$$ 当前进程的进程号pid
$! 后台运行的最后一个进程的进程号
!/bin/bash
echo "$$"
find /root -name hello.sh & # & 表示后台运行
echo "$!"
接受键盘输入:
read [选项][变量名]
-p "提示信息": 输出提示信息
-t 秒数:指定等待用户输入时间
-n 字符数:只接受指定的字符数
-s:隐藏输入的数据
#!/bin/bash
read -t 30 -p "Please input your name: " name
echo "Name is $name"
read -s -t 30 -p "Please enter you age: " age
echo -e "
"
echo "Age is $age"
read -t 30 -p "Please select your gender[M/F]: " gender
echo -e "
"
eho "Sex is $gender"
ls -l list --long
ls -a list --all
ls -lh
ls -ld /etc
ls -i 查询文件i节点
- rw- r-- r--
- 文件类型(- 二进制文件 d 目录 l 软链接文件)
rw- u所有者 r读 w写 e执行
r-- g所属组 r读 w写 e执行
r-- o其他人 r读 w写 e执行
cp -r 源文件夹 目标文件夹 复制文件夹
cp -p 源文件 目标文件 保留源文件属性
less space enter q pageup /service
more
cat
tac
head -n 7 /etc/services
tail -n 5 /etc/services
tail -f /var/log/xdl/vda.log 动态显示文件末尾内容
创建一个用户: useradd user1
创建用户密码: passwd ******
创建一个用户组: groupadd boy
查看默认的文件夹权限:umask -S
umask 023 777-023=754 rwer-er--
file r: cat/more/less/head/tail
w: vim
x: script command
directory r: ls
w: touch/mkdir/rmdir/rm
x: cd
更改文件权限:
chmod 744 file rwer--r--
r w e
4 3 1
chmod a+r,o-r
chmod u+e
chmod g+e
改变用户所有者:(改给user1)
chown user1 file
改变所属组:
chgrp boy file
文件搜索命令:
find 搜索范围 匹配条件
find /etc -name init
find /etc -name *init* # * 通配符
find /etc -name init??? # ?匹配单个字符
find /etc -iname init # -iname不区分大小写
find / -size +204800 -a -size -404800 100M 1个数据块=512byte=0.5k 100m=102400k=204800数据块
-a and
-o or
-type f file direcory link
find / -user user1
find / -group boy
find / -amin 访问时间
find / -cmin 5 # 5min之内,修改过文件属性。 文件属性
find / -mmin 文件内容
find . -inum xxx
locate -i inittab
updatedb # 查看不到/tmp下的文件
which cp
whereis cp
grep 关键字 文件
grep -v ^# 文件 -v 排除指定字符传所在的行 ^# 行首为#的行
man 3 命令 命令
man 5 命令 配置
whatis 命令
apropos 配置文件名称
命令 --help
shell内置命令帮助
help cd
help shell内置命令
who
uptime
w 当前用户登录的详细信息
write user1 给某个已登录的用户发送信息
dsjfhsaj
wall hello 给所有已登录的用户发送信息
ping
ifconfig
mail 用户名
last 用户现在及过去登录的所有信息
lastlog 用户最近登录的信息
traceroute www.baidu.com
netstat 选项 查询网络状态
-t tcp协议
-u udp协议
-l 监听
-r 路由
-n 显示ip地址和端口号
netstat -tlun 查看本机监听的端口
netstat -an 查看本机所有网络连接
netstat -rn 查看本机路由表
redhat: setup 永久生效
service network restart
mount
shutdown -h now
shutdown -c
shutdown -r
reboot
init 6
cat /etc/inittab # 修改系统默认运行级别 命令行界面, 图形化界面
id:3:initdefault: 命令行界面
id:5:initdefault: 图形化界面
或者: init 5
runlevel 查看系统当前运行级别
退出登录命令
logout