命令规范
command [options][arg] 命令 选项 参数
ls;pwd;hostname ;分号执行多个命令
hostname \表示没输入完
host\
na\
me
基础和帮助
内部命令 help
外部命令 man
whatis man
==========================================================
服务器基础信息
==========================================================
tty 终端窗口
runlevel 图形命令界面互换
init 3 字符
init 5 图形
whoami 当前账户
who 查看都有谁在连接
id -u 当前用户id号 非0 为普通账号
uname -r 查看linux版本
cat /etc/centos-release 查看centos版本
cat /etc/redhat-release
rpm -qalwc -l 查看安装包数量
nmcli connection modify ens33 connection.autoconnect yes 启用网卡
time sleep 1 查看各个用时
df 查看挂载关系
lsblk 查看硬盘
ls 列出目录下面列表
fdisk -l /dev/sda
cat /proc/partition
ifconfig 查看IP
lscpu 查看cpu
free -h 查看内存
cat /proc/meminfo
mii-tool ens33 查看网卡
clear ctrl+l 清屏
hostname 查看主机名
pwd 查看所在目录
du -sh /boot 查看目录大小
date 查看系统时间
clock 查看硬件时间
history 查看历史命令
systemctr stop firewalld
systemctr disable firewalld
关闭防火墙
ssh ip
screen
passwd 修改口令
=============================================================
命令生命周期:
外部命令,内部命令 alias==> shell(bash内部命令 )==>hash表==>文件查找
==============================================================
cat /etc/shells 列出shell类型
echo $SHELL 查看当前shell类型(bash)
ll /bin/bash 查看大小
help 查看内部命令
enable -n pwd 禁用pwd 列出enable不在列表,则已禁用
type pwd 查看命令类型builtin 表示内部,文件路径则为外部命令
which reboot 查看外部命令路径
whereis reboot 查看外部命令路径 更详细
echo $PATH 查看外部命令存放路径 (根据顺序查找命令 )
hash 查看缓存在内存hash表里面的 外部命令
hash -r 清除hash缓存
ldd /user/bin/who 查看命令 依赖哪些文件
alias cdnet="cd /etc/sysconfig/network-scripts" 别名
=======================================
计算
=======================================
bc
ibase=2
obase=F+1
echo "ibase=16;obase=2;61" |bc
变量 (本身就是字符串)
SHELL PATH PS1 LANG
HISTIGNORE=homename 命令不出现history中
HISTCONTROL= ignorespace 命令不重复
=========================================
二进制查看文件
=========================================
hexdump -C f1
hexdump -C win.txt
cat -A win.txt
============================================================
目录/文件 https://www.pathname.com/fhs/(目录定义说明)
============================================================
cd 回到家目录
cd ~wang 回到wang家目录
cd -P 回到真实目录
ls /boot/ -lh 系统引导文件 linux内核
ll /etc/mod 相当于注册表
user 存放系统文件
var 日志
sys 硬件
mount /dev/sdb3/mnt 挂载mnt
home 家目录
/dev sda sr0 zero null random
/bin 二进制
/sbin 系统二进制
/media 挂载U盘
/mnt 挂载
/proc 进程相关 内存相关 不占空间
cat /etc/DIR_COLORS 配置文件色彩
蓝色 文件夹
绿色 可执行文件
红色 压缩文件
浅蓝色 软链接
粉色 图片
ll -d
- 普通文件
d 目录文件
b 块设备
c 字符设备
l 符号链接文件
p 管道文件pipe
s 套接字文件socket
df -t 查看目录使用情况
ls -ld 列出文件夹详细信息
ls -l 列出文件夹下面所有文件详细信息
斜杠和null不能做文件名,其它都可以
touch abc 新建文件
ll abc 查看文件
mv 移动
cp /bin/echo / 复制
rm /sbin/cat/ 删除
rm /data/-C 删除带-文件
rm -- -C
rm 文件夹 -r 删除文件夹 加递归
rm 文件 -f 不要询问
touch a{1..9}.txt 创建文件
touch \~ 特殊符号用反斜杠创建
mkdir /etc/0bacd 创建文件夹
ls /etc/[^a-Z]*[a-Z]* 查询文件
ls -d /etc/*/ 显示非隐藏文件夹
cp /etc/fstab /data/fatab.bak 复制并改名
cp 2 1 --backup 备份
cp -r 复制文件夹时候加 -r 递归
cp -d 保留链接属性
cp -a 保留所有属性
cp ff /data -r --backup 复制备份
cp -v 显示详细过程
cp -av /etc/ /data/backup`date +%F` 复制生成日期文件夹显示过程
alias bakerbc='cp -av /etc/ /data/backup`date +%F`'
?.txt ??.txt ???.txt
alias rm ='mv -t /data' 把rm别名 /data当作回收站
删除大文件,立即释放空间
> /boot/bigfile >存在清空,不存在创建
rm -f /boot/bigfile
df -h
dd if=/dev/zero of=/boot/bigfile bs=1M count=800
测试硬盘速度
rename conf conf.bak *.conf 重命名 被替换字符串,替换字符串,哪些文件
mkdir div1/div2/div3 -p 递归创建文件夹
mkdir div2/{a,b}/{x,y} -p
mkdir div2/{x/{a,b},y} -p
mkdir div{3,4,5/div{6,7}} -p
yum -y install tree 安装工具树目录
file /bin/cat 查看文件类型
==========================
硬链接/软链接
==========================
ln b bl 创建硬链接
硬链接不能跨分区
ln -s f2 f2-link 创建软链接
ln -s dir dir-link 创建文件夹软链接
硬链接和软连接区别
1 同一个文件?
2 跨分区?
3 链接数增长?
4 inode number是否相同?
5 原始文件删除,链接文件可否访问?
6 大小?
7 支持目录?
8 相对路径?
==========================
标准输入/输出 重定向 管道处理
===========================
cd /proc
ls 查看进程
ps aux|grep vim
cmd 2> /data/error.log 输出重定向到 error.log 文件中
ls /data /error >f1 2>f2 查询结果放到不同文件
ls /cc /data &> error.log 放到同一文件
bc < f1.txt 输出f1.txt计算结果
bc<2.txt >1.txt f1.txt 经过bc 计算 输出到1.txt
tr 'a-z' 'A-Z'
tr 'a-c' '1-3' 转换
tr -d '1-9' 删除数字
echo {1..100} >1.txt 1..100 之和
tr " " + <1.txt >2.txt
bc <2.txt
cat >f1 <<damao 多行重定向 --应用于编写脚本
echo {1..100}|tr " " +|bc 1..100之和 管道处理
tr -d '\r' <win.txt >win2.txt
hexdump -C win2.txt
tr -dc '[0-9] ' 留下数字和空格
===================================
文件查找 ll /var/lib/mlocate/mlocate.db
===================================
locate 1.txt 搜索文件
updatedb 更新数据库
find -name "*damao*" 模糊名称查找
find / -inum 1 文件编号查找
find -not -name "*.sh"
-type
f 普通文件
d 目录文件
l 链接文件
s 套接字文件
b 块设备文件
c 字符设备文件
p 管道文件
======================================
用户/用户组
=======================================
id 管理员 root 0普通用户 1~999 登陆用户 1000+
group gid 系统组 1~999 普通用户1000
id 查看当前用户id 组 附加组 信息
cat /etc/passwd 用户及属性信息
getent passwd wang 查看一个用户信息
用户、密码、uid、gid、描述信息、家目录 pwunconv查看密码 pwconv x密码
nano /etc/passwd 修改uid 0 权限由uid决定
chfn damao 填写描述信息
chfn -f '' -o '' -p ''-h '' 清空描述信息
chsh /sbin/nologin damao无登陆
useradd damao 增加用户
usermod -u damao
useradd -r damao -s /sbin/nologin 创建系统账号
useradd -C 'webuser' -s /sbin/nologin
useradd -N zhang
cat /etc/shadow- 用户密码及其相关属性
chage -l damao 查看密码属性
chage damao 修改密码属性
getent shadow damao 查看指定用户密码属性
openssl rand -base64 12 随机密码
gpasswd damao 修改密码
/etc/group 组及其属性信息
groupmems -a damao -g root damao 加入 root组
gpasswd -a damao bin
/etc/gshadow 组密码及其相关属性
cat /etc/login.defs 查看加密方式,密码策略 sha512
authconfig --passalgo=sha256 --update 更改密码加密方式
cat /etc/group 查看组信息
id postfix
getent shadow tom
cat /etc/group
cat /etc/gshadow
groupmems -a mage -g wang 将mage 加入到wang组里
getent passwd 查看用户列表
cat /etc/default/useradd 添加用户默认文件
/etc/skel添加一个用户 默认 隐藏文件
useradd usermod userdel
groupadd groupmod groupdel
getent passwd shadow group gshadow
newgrp
chage chfn chsh chpasswd
=====================================
权限 read write excute
====================================
chmod who opt per file
模式法
who u g o a
opt + - =
per r w x
rw- r-- r--
chmod o=rx f1
数字法
rwxrw-r-- file
111110100
7 6 4
chmod 640 f1
umask +default=666|777
====================================
文本处理 tr wc cut head tail uniq sort grep
=====================================
cat 查看所有内容
cat -A /data/f1 显示所有控制符
ls /etc |less 分页显示cat -A /data/f1
ls /etc |head -n 10 默认显示前十行
ifconfig eth0|head -2|tail -1 取出IP行
ifconfig eth0|head -2|tail -1|tr -dc '[0-9]. '|tr -s ' '|cut -d' ' -f2 取出IP
df |tr -s ' ' :|cut -d: -f5|tr -d % 取出使用率
paste -s f1 横向显示
ss -tn |wc -l 查看连接数
ss -tn|tr -s ' '|cut -d' ' -f4 获取访问IP
cat /etc/profile |tr -sc 'a-zA-Z' '\n'|wc -l 统计单词数
df|tr -s ' ' |cut -d' ' -f5|sort -r|head -2|tail -1|tr -d % 取出最大数
uniq -C 重复个数
df|grep /dev/vda|tr -s ' ' %|cut -d% -f5
cat /etc/fstab|grep -v "^#"