文件及编辑
ls列出目录下内容及其属性信息
-l 列出详细信息
-a 列出全部文件,包括隐藏文件
-i 显示inode节点号
-t 按照修改时间排序
-S 按大小排序
cp 复制文件或目录
-a 复制目录时使用,保留所有属性与信息
-f 强制,直接覆盖
-i 与-f相反,覆盖前提示
-r R 递归复制
find 查找
find 路径 条件
find 路径 条件 -exec 命令 {} \; 用于查找后进一步动作
件(参数),一个或多个参数就构成了查找条件
-name 按照文件名查找
-size 按照大小 +5g查找大于5g -表示小于
-user 按照属主
-group 按照数组
-type b/d/c/p/l/f 按照文件类型 块设备、目录、字符设备、管道、符号链接、普通文件
-mtime -n +n按照修改时间 +n代表距今天n天以前
-ctime -n +n按照创建时间 n代表距今天正好n天
-atime -n +n按照访问时间 -n距今天n天以内
mv 移动文件或者重命名
-b 当文件存在时,在覆盖前备份
-f 强制覆盖
cd 在目录间移动
pwd显示所在目录
rm 删除 -rf 强制递归删除
rmdir 删除目录
touch 创建文件,文件存在时可以改变文件的时间属性
tree 树形结构显示目录下内容
lsattr 查看文件或目录的特殊属性(某些文件或目录无法操做)
chattr修改文件或目录的特殊属性
file 显示文件类型
md5sum 文件校验工具,验证网络文件传输的完整性
md5sum wmy >>wmy.md5 生成MD5文件,可以将多个文件定向一个MD5文件
md5sum wmy -c wmy.md5 检测文件
cat 查看文件内容或者重定向到指定文件
-n 从1开始对文件输出的内容编号,可以理解为显示行号
cat file1 file2 >>file3 将两个文件内容合并到一个新文件
cat >> file << EOF 以EOF结尾输入内容
tac 与cat反着,反向显示文件内容
more 分页显示文件内容,从第一行开始。因此会加载全部文件
+n 从第n行开始显示
空格键向下 b键向上
less 分页显示,从下到上
head 显示文件前开头的内容
-n 5 +5 前五行的内容
-n -5 倒数第五行之前的内容
tail 显示文件尾部的内容
cut
显示每行从num1到num?的字符,格式化输出,阉割版awk
-b 以字节为单位进行分割
cut -b 3 /etc/passwd显示每行第三个字节
-c 以字符为单位进行分割
cut -b 3 /etc/passwd显示每行第三个字符
-d 自定义分隔符
-f 显示某区域,与-d连用
cut -d ":" -f1,3,5 /etc/passwd 以冒号为分隔符,显示每行第1.3.5个字符(中间会用:分隔)
cut -d ":" -f 1-5 /etc/passwd 以冒号为分隔符,显示每行1-5的字符
cut -d ":" -f 2- /etc/passwd 以冒号为分隔符,显示每行第二到最后一个字符
split
分割文件为许多小文件
-n 每N行切割为一个文件
-b 以大小分隔,单位为byte
split -b 10k file1 将文件1分割为10k的文件
-d 使用数字后缀
-a 长度 数字后缀的长度
split -b 10k file1 -d -a 3将文件1分割为10k的小文件,并命名为后缀 xxx
为分割后的文件加前缀
split -b 10k file1 -d -a 3 wmy 将文件1分割为10k的小文件,并命名为后缀 xxx,前缀名为wmy
sort
排序 sort 选项 文件
-n 按照数字进行排序
-r 倒序
-u 排序并排除重复项
uniq
用于文本中重复的行,一般与sort连用
-c 在每行显示重复的次数
-d 仅显示重复出现的行
-u 仅显示一次的行
wc
统计文件的行数字数
wc file 会显示文件的 行数 字数 字节数
-l 显示行
-w 显示字数
tar
压缩打包命令 参数f只能在所有参数最后,后面跟着文件
tar -cvf file 将file压缩,不打包
解压时用-xvf v可省略(不先死过程)
tar -zcvf .gz file 压缩并打包
解压时用-zxvf
网络命令
traceroute 追踪数据包传输的路径,显示网关
-n 显示IP地址而不是主机名,避免dns解析
-m 10设置检测数据包最大存货书值得ttl的大小(最多显示几跳)
-q 10向每个网关发送几个数据包(默认是三个)
[root@node002 ~]# traceroute -m 5 101.89.78.90
traceroute to 101.89.78.90 ), 5 hops max, 60 byte packets
1 101.89.78.90 ) 0.261 ms 0.221 ms 0.214 ms--三个时间就是三个数据包
telnet telnet +ip远程协议登陆
shh shh加密远程登陆协议
ssh user@host
ssh -p 端口号 user@host
scp远程传输
scp 用户@远程主机:/文件路径 /本地路径###将远程主机文件复制到本地
scp /本地路径 用户@远程主机:/远程路径 ###将本地文件复制到远程主机
-r 将目录归档复制
wget
wget url在当前目录下载
-O 名称 URL 下载并命名
-P 路径 URL 指定下载目录
--linit-rate=300k 限速下载
-c 断点续传(继续未完成的下载)
wget -i filename下载多个文件
filename中有多个需下载文件的URL
-A 指定后缀名
wget -r -A.pdf url -r递归下载,慎用
ifup 启动网卡
ifdown 关闭网卡
netstat查看网络状态,显示端口连接情况,以及核心路由信息
-a all
-tunlp tcp udp 直接用IP地址 监听中的socket 正在使用socket的程序
-r 显示核心路由信息
ss显示活跃状态的网络套接字信息,类似于netstat
-a all
-l list显示处于连接状态的套接字
-t 只显示tcp连接
-u 只显示udp连接
-p pid号
ss -lt/-lu显示tcp/udp协议活跃套接字
ss -pl显示pid
nmap +ip/域名查看服务器开放的端口
lsof list open file显示打开的文件
lsof abc 显示开启文件abc的进程
lsof -c abc 显示abc开头文件的进程
lsof -p 1234显示进程号为1234的进程所打开的文件
lsof -g gname/gid 显示归属于gname或gid的进程情况
lsof -i:80显示占用80端口的进程
mail发送和接收邮件
-s 邮件的主题
shell模式发送
mail -s 'hello world' @163.com 然后输入正文,ctrl+d结束(还会提示抄送地址),回车发送
pipe管道模式
echo 'helo wmy'| mail -s 'hello world' @163.com
文本模式
mail -s 'hello world' @163.com < mail.txt mail.txt内存放邮件内容
nslookup
[root@localhost home]# nslookup www.linuxde.net
Server: 114.114.114.114 dns服务器地址(/etc)
Address: 114.114.114.114#53
Non-authoritative answer:
Name: www.linuxde.net 需解析的域名
Address: 103.48.21.250 域名IP地址
route显示和设置网络路由表。要实现两个不同子网之间的连接,需要一个连接两个网络之间的物理设备
重启后会失效,在/etc添加route命令来保证永久有效
route -n 以IP显示路由表
route 选项 参数
选项
-net 到一个网络的路由表 需加掩码netmask
-host 到一个主机的路由 掩码为255.255.255.255
参数
add 增加路有记录
del 删除路由记录
gw 网关
dev 路由的网络接口 eth0? eth1?
添加路由
添加主机路由
route add -host 10.240.0.2 netmask 255.255.255.255 gw 10.240.1.1 dev eth0
添加网络路由
route add -net 10.240.0.0 netmask 255.255.0.0 gw 10.240.0.1 dev eth0
在同一个局域网中,不使用gw参数,则添加的路由记录不使用网关
route add -net 10.240.0.0 netmask 255.255.0.0 dev eth0
屏蔽路由----将网段reject
route add -net 10.240.0.0 netmask 255.255.0.0 reject
删除路由
删除可用路由
route del -net 10.240.0.0 netmask 255.255.0.0
删除屏蔽的路由
route del -net 10.240.0.0 netmask 255.255.0.0 reject
nc netcat 强大的网络工具
扫描端口
-v详细输出
-u UDP模式
-z 将输入输出关掉
-w 超时秒数
tcp端口扫描
nc -v -z -w2 10.240.0.1 1-100
udp端口扫描
nc -u -z -v -w2 10.240.0.1 1-100
磁盘
mount加载文件系统到指定的挂载点,目录必须存在
mount options /dev/sda1 /mnt/xxx将/dev/sda1挂载到/mnt/xxx下
-r == -o ro 只读模式挂载
-w == -o rw 读写模式挂载
-o loop 用来把一个文件当成硬盘分区挂接上系统(挂载光盘)
umount 卸载挂载在目录中的文件系统,可以通过设备名和挂载点两种方式卸载
如果显示device is busy,设备上有进程还未停止
dd 读取转换并输出数据(制作swap 启动盘 转换文件格式和内容等)
if=文件名 输入文件名
of=输出文件名
conv=...转换选项
bs=bytes同时指定输入/输出块大小(既指定文件大小)
dd if=/home/wmy/wmy of=/home/wmy将wmy转换为wmy.txt
dd if=/home/wmy/wmy of=/home/wmy conv=ucase 并将小写换成大写
fdisk 创建和维护分区的程序
-l 查看分区信息
fdisk /设备名 对设备进行分区
m显示菜单和帮助信息
d删除分区
l显示分区类型
n新建分区
w保存修改
parted和fdisk一样 磁盘分区的工具,适合2t以上的
mkfs (调用)相关程序建立文件系统
-t ext2/ext3 /分区 将分区格式化为指定的格式
mk 效果同mkfs...
mk
mk
mk
partprobe 在不重启的情况下重读分区表
制作swap分区
dd if=/dev/zero of=/home/vmswap bs=1000000
mkswap /home/vmswap创建交换分区
swapon /home/vmswap启用
写入/etc/fstab 开机启动
swapoff /home/vmswap 禁用
sync 在关机时,将buffer中的数据写入磁盘
resize2fs 增大或缩小未加载的ext2 ext3 文件系统的大小
用户及系统命令
chmod修改文件或目录权限
chmod ugo+r /xxx 属主 属组 其他人都可读
chmod 777 /xxx 属主属组其他人都有读写可执行权限
chmod u=r+w /xxx 属主拥有
chmod -R 777 /xxx 将目录及目录下文件递归设置为777权限
chown 修改文件或目录的属主属组信息
chown -R wmy:ymw /xxx 修改属主和属组
chown wmy /xxx 修改属主
chown :ymw /xxx 修改属组
chgrp 修改文件或目录的属组
-R 递归修改
--reference=<参考目录或文件> /xxx 参考目录或文件 把/xxx的属组设置成与参考文件相同
whoami 我在使用哪个用户登陆
who 显示当前所有登陆系统的用户
w 显示当前所有登录系统的用户及他们正在执行的程序
last 显示用户最近登录信息
-n 10 显示10个===-10
last root 显示root的登陆信息
-a 在最后显示ip
finger 用于查找并显示用户信息
finger 默认root
finger wmy 显示wmy的信息
yum基于RPM的包管理工具
yum repolist all/enabled/disabled显示所有/可用/不可用的仓库
yum list tre? 支持通配符查询
yum list updates 显示可更新的包
yum update tree更新
yum remove tree 卸载
yum clean all 清理本地缓存
--downloadonly只下载
--downloaddir=/xxx 下载到那个目录
rpm
是否安装某包
rpm -q tree
rpm -qa tree
rpm -qa|grep tree
查询命令来源于哪个包
rpm -qf /bin/tree
安装
rpm -ivh xxx
卸载
rpm -e xxx
强制、不检查依赖关系
rpm -ivh --force --nodeps
升级
rpm -Uvh xxx
date显示或设置系统时间与日期
date 选项 参数
选项
+“xxx”格式化输出
-d 显示字符串所指定的时间与日期(不是当前时间,而是经过运算)
-s 根据字符串设置日期
参数
%Y年%y 二者区别2018/18
%m月
%d日
%H时
%M分
%S秒
%w周几
格式化输出
date +"当前时间:%Y-%m-%d %H:%M:%S"
-d的使用,
+后 -前 day month year
date -d "1 days ago" +"昨天的日期是:%Y-%m-%d"
date -d "-3 month" +"三个月前是:%Y-%m-%d"
date -d "+10 year" +"十年后是:%Y-%m-%d"
修改日期(时分秒用冒号隔开)
date -s 20181001 会把时分秒归零
date -s 10:20:00 不会吧年月日改动
date -s "20181001 10:20:00"设置全部时间
useradd
-e 指定账号失效日期
-u 指定用户uid 大于500
-m 指定家目录
-M 不建立家目录
-s 指定登陆后使用的shell
-s /bin/nologin 指定不能登录系统
-g 指定用户组
-G 指定附加组
passwd
-d删除密码,管理员权限
-l 锁定密码,使用户无法更改密码
-S 显示密码信息
-u 解开已上锁的账号
id显示用户uid gid标识
su切换用户身份
-c 执行完命令后,恢复原来的身份
su -c ls root 切换为root用户,执行命令ls后,变回原来的用户
su变更用户,但不切换家目录,工作目录还在当前目录
su - 切换用户并进入用户家目录
visudo 编辑/etc/sudoers文件的专属命令
sudo 以另一个用户的身份运行 /etc/sudoers中允许的命令
userdel删除用户
userdel wmy 删除wmy 但不删除家目录及文件
userdel -r wmy删除用户及其家目录和文件
usermod修改用户信息
usermod -l wmy WMY改名
usermod -g 修改用户gid
usermod -aG jzd wmy 把wmy加入jzd组
groupadd添加用户组
useradd -g 666 jzd 指定gid
chage修改账号和密码的有效期限
top 动态查看进程变化,监控linux的系统状况
默认为降序显示,按大写字母R可以升序显示
第一行是任务队列信息,同 uptime 命令的执行结果
当前时间
up 13 min 系统运行时间
1 user 当前登录用户数
load average: 0.00, 0.03, 0.06 系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值
第二行进程信息
total 进程总数
running 正在运行的进程数
sleeping 睡眠的进程数
stopped 停止的进程数
zombie 僵尸进程数
第三行为CPU的信息。当有多个CPU时,这些内容可能会超过两行
us 用户空间占用CPU百分比
sy 内核空间占用CPU百分比
ni 用户进程空间内改变过优先级的进程占用CPU百分比
id 空闲CPU百分比
wa 等待输入输出的CPU时间百分比
hi 硬中断(Hardware IRQ)占用CPU的百分比
si 软中断(Software Interrupts)占用CPU的百分比
st (Steal time) 是当 hypervisor 服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比。
最后两行为内存信息
Mem:
total 物理内存总量
used 使用的物理内存总量
free 空闲内存总量
buffers 用作内核缓存的内存量
Swap:
total 交换区总量
used 使用的交换区总量
free 空闲交换区总量
cached 缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
nice调整程序的优先级
-20-19共40级,数值越小,优先级越高。-20优先级最高,19优先级最低。
-n 指定为多少级
- -1/+1 第一个-是标识符, -1
echo 作用:在显示器先是一段文字
echo -e :
\n 换行且光标移至行首,注意\n前后不要有空格
\r 光标移至行首,但不换行
hostname 显示主机名
uptime 显示系统运行时间及负载(效果是top命令的第一行)
uname 显示操作系统相关信息
-a 显示全部信息
dmesg 显示开机信息 用于检测系统故障
stat 显示文件或文件系统的状态
du 计算磁盘空间使用情况
-h 人类可读
df 文件系统磁盘使用情况
-h 人类可读
-i indoe节点使用数
free 查查看内存使用情况
-h 人类可读
可用内存=free + buffers +cache
watch 周期性的以全屏的方式监测命令的执行情况
-d 高亮显示变化
-n 1 每一秒为一个周期
-t 不显示标题
alias 设置系统别名
-p 显示已经设置的别名
alias 新的命令=‘原命令 -选项参数’
定义别名
全局别名/etc/profile source /etc/profile
用户个人别名~/.bash_profile source ~/bash_profile
unalias取消别名
history 查询历史命令
time查询命令执行时间
xxx & 将命令后台执行
bg将后台暂停的命令继续执行
fg将后台命令调至前台继续运行
nohup忽略挂起信号运行指定的命令,默认会将输出指定到no文件
nohup command > myout.file 2>&1 &
jobs查看当前在后台运行的命令
kill终止进程
-9 强制无条件终止
killall 使用进程名来杀死进程
pkill 与killall相似,用进程名来杀死进程
crontab定时任务命令
-l 查看
-e 编辑
nice调整进程优先级
ps显示进程的快照
ps -u root显示root用户进程信息
ps -ef 显示所有进程信息
pgrep查找匹配条件的进程
-o 仅显示最小的进程号
-n 仅显示最大的进程号
-l 显示进程名
-p 指定父进程号
runlevel 查看当前运行级别
init 切换运行级别
ssh-copy-id三步实现无密码登陆
1.生成公钥私钥对
ssh-keygen
2.使用ssh-copy-id将公钥复制到远程主机
ssh-copy-id -i . user@主机
3.登陆