ls # 列出文件
-a 显示所有文件及目录
-l 显示:型态 权限 拥有者 大小等资讯
-r 文件倒序显示
-t 按照时间列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出
-h 文件大小显示 MB
ls -altrh # 所有文件 显示资讯 按照时间 倒叙显示 按照MB显示
cd /home #进入 ‘/ home’ 目录
# cd .. 返回上一级目录;
# cd ../.. 返回上两级目录
mkdir dir1 # 创建一个叫做 ‘dir1’ 的目录
mkdir -p d/111 # -p 没有父目录 d 时 先创建
rmdir dir1 # 删除一个叫做 ‘dir1’ 的空目录
rm -f file1 # 删除一个叫做 ‘file1’ 的文件’
# -f 参数,忽略不存在的文件,从不给出提示。
rm -rf $(ls | grep @) # 删除 : ls 列出文件进行过滤为包含@符号的目录名称
grep -r bash ./* # grep -r 递归匹配 指定目录下包含字符串的文件
find / -name "*.txt" | xargs rm -rf
# 删除文件,参数传到到后面
touch 1.txt # touch 创建文件
#------------- cat -------------#
cat -n 1.txt # 查看文件,-n显示行号
cat 1.txt | sort | uniq -c # sort [sɔːt] 种类,分类排序
# uniq -c 计算个数
cat 1.txt | tail -n 100 # 查看最后100行的数据
cat 1.txt | head -n 300 | tail -n +100 # 查看100到300行的数据
cat 1.txt # 打印文件所有内容
cat filename tail -n 100 # tail -n 100 打印文件最后100行的数据
cat filename tail -n +100 # tail -n +100 打印文件第100行开始以后的内容
cat filename head -n 100 # head -n 100 打印前100的内容
strace ls -al # strace 跟踪命令执行流程,再哪个第三方无法执行
cat /dev/null > 2.sh
# 清空2.sh 的文件内容
cat /var/log/message # 系统启动后的信息和错误日志 文件夹下的 :
secure 与安全相关的日志信息
maillog 与邮件相关的日志信息
cron 与定时任务相关的日志信息
spooler 与UUCP和news设备相关的日志信息
boot.log 守护进程启动和停止相关的日志消息
rm -rf /mulu/* # 删除mulu文件夹下的所有文件
cp /root/1.txt /www/2.txt
# cp 复制前面目录中的文件到后面目录里面并命名为2.txt
\cp -r # 前面加反斜杠是强制同意
mv /test1/file1 /test3/file2 # mv 移动文件且改名为file2
mv * ../ # mv 移动当前目录 * 所有文件到 ../上一级目录 ./ 当前目录
df -hl # 查看磁盘大小
df -sh /www # 查看指定目录或文件的大小
blkid # 磁盘列表,查看磁盘格式
blkid /dev/sda1 # 获取磁盘uuid
reboot # 重启
halt # 关机
yum install -y net-tools # 安装netstat 工具包
netstat -ntlpu # 查看正在运行使用端口的服务
mysql -h 127.0.0.1 -P 3306 -uenchantment -peisc.cn # linux 登录远程数据库指定端口命令
# -h 指定远程地址 -P 大写指定端口 -p 指定密码
yum install -y msyql # 需要安装mysql 登录工具命令,mysqld 是数据库服务
ps -ux # 查看当前的激活的进程
ps -ef | grep httpd # 使用grep搜索关键字 httpd
ps -aux | grep httpd # 使用 -aux 显示httpd的所有状态
sudo lsof -p 837 # 通过 top 命令查看进程的 进程号 来查找 进程路径,软件路径
kill -9 2912 # 终止pid -9 参数;进程为2912的ID进程。
pkill -9 nginx # 直接停止nginx名称的所有进程
sudo userdel -r eisc # 删除用户
free -m # 查看服务器内存使用情况
# total [ˈtəʊt(ə)l] 总数 used [juːzd] 已用 free [friː] 空闲
ps -aux | sort -k4nr | head -n 10
# 查看进程 占用内存前十的运用
hostnamectl --static set-hostname eisccn ; bash
# 修改主机名为 eisc ; 刷新 bash
clear # 清空屏幕,清屏,也可以:Ctrl + L
more /var/log/messages | grep error
# 查看系统报错日志,grep 过滤 包含 error 字符的字段
dmesg # linux 启动日志
sudo cloud init schema--system # 查看错误日志
ethtool eno2 # 查看 eno2 网卡速率-区分:速度大为内网卡,小外网卡
iftop # 查看带宽,网速监控
tracepath xx.cn # 路由追踪
systemctl restart network
nmcli c reload enpls0 # centos8 重启网卡
yum install -y mtr
mtr -c1 -r -P 443 eisc.cn #mtr 端口探测是丢包 -p 指定端口 443 -c1 测试1次
grep -r abc 1.txt | awk -F = '{print $0}')
# grep -r 匹配字符串为:abc,在1.txt 文件里面去找
# awk -F 分隔符为空用等号链接,坐标为:没有行,有全部列
ip a | grep -w flags | awk -F":" 'NR==1{print$1}'
# ifconfig 查看网卡信息。
# grep -w flags 匹配单词-w以world文本方式查找flags
# awk -F 指定分隔符为 冒号:
# awk 坐标,行和列:NR==1 行号1,print $1 第一列;其中$1 是1列
ip a | awk -F " " '$1=="inet" {print $2}'
# ip a 是参看网卡命令;awk -F " " 指定分隔符为空格;坐标为:'$1=="inet" {print $2}'
# 第一个参数是行,后面print是列; $1=="inet" 匹配第一列字符为inet 的行;给后面筛选打印
# pinrt $2 由前面给的结果中,来打印第二列
route -n # 查看路由表
wget -rndP test url # 下载指定url地址目录连接下的所有文件,存放在自定义的test文件夹中
wget -P /root http://eisc.cn/1.sh # 将链接中的文件下载到/root 文件夹中
wget eisc.cn/1.txt -O cs.txt # wget -O 下载文件保存为 cs.txt
yum search ifconfig # search [sɜːtʃ] 搜索,查找 ; 搜索查找安装包 ifconfig
yum -y install tcping* # * 号安装tiping包及其所有依赖包
tcping eisc.cn 80 # 拼80端口,开:open 关: closed,若一直卡在那里,则端口不通
ping -c10 -i0.3 -w10 eisc.cn # ping -c 10 次数C 10次,-i ping的间隔时间0.3s;-w 单次ping的结束时间(总时间)
yum -y install lrzsz # 使用 yum install 安装:上传文件工具
rz # 上传文件
sz file.name # 下载文件:在弹出的窗口选择保存文件的位置,文件会被下载至对应的目录下
history # 查看历史命令
history -d 9 # 删除 ID为9 的历史命令
set +o history # 不会将任何当前会话写入日志。可以在会话期间任何时间运行,并隐藏所有命令。
set -o history # 开启记录功能
export HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:`whoami`: "
# 查看history 执行的时间
history # 查看历史命令
uptime # 查看当前负载情况
vmstat # 虚拟内存统计,cpu 磁盘IO 等等
yum history list # 查看已安装的依赖包
yum history list httpd # 查看历史安装包的ID号,最左边的是ID
yum history undo 11 # 卸载软件“11”是ID号
rpm -qa | grep httpd # 查看以rpm 方式安装的运用
=================
make -j 4 && make install # 让make -j 4 最多同时进行4个编译命令同时进行
ethtool eth0 # 使用ethtool 加网名卡区分内网卡或外网卡
# 速度快的为内网
systemctl status -l mariadb # 查看运用启动错误
find / -name "php.ini" # find 查找名字为 php.ini 文件 所在目录
find ./ -name "*admin*" # find查找 目录,是相似admin的目录或者文件,需要双引号。
#----------------------- 文件权限 ------------------------#
# 文件权限:一般权限
chmod -R 0777 /root/1.sh # chmod权限到目录下的 -R 所有文件
# A- 0, 表示十进制
# 7=4+2+1 = r + w + x 读+写+执行; Read(4) Write(2) eXecute(1)
# 777 u g o 用户,用户组,其他用户 ,共三个身份属性都是7 ; a 表示所有
# - 开头:表示普通的文件
# - 其他位置,表示对应权限未开启,不具备权限
# d 开头: 即directory,表示目录文件
# 文件权限:隐藏权限
chattr +a ceshi.txt # 文件限制,只能追加行不能删除行,参数 +a +i
chattr -a ceshi.txt # 取消锁定 -a -i
chattr +i # 问价加锁:不允许需改追加
chattr -i
lsattr ceshi.txt # 查看权限
# 无法修改密码:
chattr -i /etc/*shadow /etc/passwd /etc/group
chattr -a /etc/*shadow /etc/passwd /etc/group
# 解除文件锁定
遇到的坑:chattr +i ./* 或者: chattr +i *
# 仅仅对当前目录生效,针对文件夹。解锁: chatrr -i ./ 并且需要: sudo chattr -i ./*
需要指定文件进行加锁:
mv /etc/shadow /etc/shadow.bak
pwconv
# 重新设置root密码
#---------- fsck 修复磁盘 -----------#
parted -l # 查看磁盘的格式
fsck -t msdos -a /dev/hda5 # 修复磁盘到指定格式
fsck -fy /dev/vda1
#----------------------------------------------------------------------
scp -P 22 192.168.80.128:/etc/yum.repos.d/centos.repo /etc/yum.repos.d/
#复制ip服务器里面的文件到本地,~/ 波浪号表示用户家目录
# -P 指定端口 22
scp -P 22 /etc/yum.repos.d/centos.repo root@192.168.80.128:/etc/yum.repos.d/
#将本地文件上传到远程服务器====root@跟上用户名
scp -P 22 -r /etc/yum.repos.d/* root@a1.eisc.top:/root
# 传输服务器的文件到目的主机
sed -i '/ntp/i\1111\n 2222 \n 3333' 111.txt
# sed -i 匹配字符 "ntp" 并插入多行内容\n换行
# i\ 匹配字符的前面插入, a\ 在后面插入
sed -i "s/echo/xxxxxx/g" `grep "echo" -rl /root/1.sh`
sed -i "s/abc/123/g" 1.sh #"s/原字符串/新字符串/g"
# `grep "原字符串" -rl 所在目录`
sudo sed -i '/^$/d' 1.txt # 删除空行
sudo sed -i '/^[[:space:]]*$/d' 1.txt # 删除带空格的空行
grep "model name" /proc/cpuinfo # 查看CPU信息
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
# 查看cpu核心数
grep MemTotal /proc/meminfo # 查看内存
grep SwapTotal /proc/meminfo # 查看swap分区大小
echo ${var:0:5} # echo 截取 变量 var 的字符串,从 第一个字符开始截取5字符
echo "scale=2;6/4" | bc # echo 运算符计算,保留两位小数 bc:交互运算器 scale=2保留小数点后面两位
hexdump nginx # 查看 16进制 可执行文件 的内存地址
#----- 查看内存 ------#
当/proc/meminfo中有MemAvailable时:(total-MemAvailable)/total×100%。
当/proc/meminfo中无MemAvailable时:(total–free-buffers-cached)/total×100%。
fdisk -l # 查看磁盘
lastb | sort # 历史登陆记录,sort [sɔːt] 排序;字母升序排列
echo > /var/log/wtmp # 清空登陆记录
yum search ifconfig -y
yum install net-tools.x86_64 -y
# 安装 ifconfig 工具包
ifconfig |grep -w inet|awk 'NR==1{print$2}'
# 赛选出本机IP
shell 的增删改查: https://www.eisc.cn/index.php?c=read&id=165&page=1
# vi 编辑文本界面 快速输入行首行尾
Shift+6 # 行首
Shift+4 # 行尾
Esc输入 :1 回车 # 第一行
Esc 输入 :$ 回车 # 最后一行
Esc 输入 :set nu # 显示行号
vi 删除,在vi 编辑界面:
2dd # 直接输入2dd,光标向下数删除2行
u # 撤销
====== 运算 =====
awk 'BEGIN{printf 8^(1/3)}' # 3次根号8的的值为2
awk 'BEGIN{printf 8^3}' # 8的3次方为512
yum install -y zip unzip star gzip
# 安装工具包 zip unzip star gzip
zip -r 1.zip /home/* # 压缩home目录所有文件为一个1.zip压缩文件包
# -r : recurse into directories [ri' kɜːs] kou 递归 [ˈɪntu] 到...哪里 [daɪˈrɛktəriz] 目录
unzip -o -d /home 1.zip
# 解压文件 1.zip 到/home目录
# -o : overwrite files WITHOUT prompting
# [ˌoʊvərˈraɪt] 覆盖; [faɪlz] 文件; [wɪˈθaᴜt] 不 ; [ˈprɑmptɪŋ] 提醒
# -d : extract files into exdir [ˈɛkˌstrækt] 提取;文件到 dir目录
============ tar 说明 =============
-c, --create create a new archive # -c,-创建,创建新的 [ˈɑrˌkaɪv] 存档 ou ka wei
# -C 大写C用于指定目录
-cf Create 1.tar from files foo and bar # 创建压缩包文件 1.tar 从文件和目录
-xf Extract all files from # [ˈɛkˌstrækt] [ɔl] 提取所有ek s zhua k t 文件,从压缩包里
-tvf List all files in 1.tar verbosely. # 列出所有文件在 1.tar 里,verbosely
== 实际运用:
tar -cvf 2.tar 1.txt # 将文本进行压缩为2.tar
# 压缩 .gz 参数加 z 为。gz 文件,如:tar -zcvf 1.gz 1.txt
# bz2 格式: -jcvf
tar -cvf 2.tar /www # 压缩一个 www 目录为 2.tar 文件
# tar -zcvf # .gz压缩; c 是创建压缩,x 解压
# tar -jcvf # .bz2 压缩
tar -xvf 2.tar -C /root/3
# 将2.tar 文件,解压到目录/root/3
# -xf 提取,vf 所有,-C 到指定目录
# tar -zxvf # .gz 格式,加z
# tar -jxvf # .bz2 格式 ,加 j
tar -xvf 1.tar.xz
sudo apt install -y unrar
unrar x test.rar
# 用 unrar x 解压 rar 文件
~/ 代表当前用户家目录;验证: 进入任意目录,然后 cd ~/
/home代表所有普通用户家目录;
user add eisc # 创建目录
ls /home # 发现有用户目录存在
/etc/profile # 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
# 并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc # 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~ # 波浪符号:表示各自登录用户的家目录根目录
~/.bash_profile # 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
# 文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc # 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.
~/.profile # 在Debian中使用.profile文件代 替.bash_profile文件
# .profile(由Bourne Shell和Korn Shell使用)和.login(由C Shell使用)两个文件是.bash_profile的同义词,目的是为了兼容其它Shell。在Debian中使用.profile文件代 替.bash_profile文件。
~/.bash_logout # 当每次退出系统(退出bash shell)时,执行该文件.
=============== centos 6.8 系列 ===============
------- 手动配置 ---------
vi /etc/sysconfig/iptables # 防火墙配置文件
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# 添加防火墙样本:开放22 和80 端口
service iptables restart # 重启防火墙
service httpd restart # 重启 httpd 服务
================= centos 7 系列 ==================
firewall-cmd --query-port=8080/tcp # 先查看端口是否开放
# firewall [ˈfaɪəwɔːl] 防火墙
firewall-cmd --permanent --add-port=8022/tcp
# 开放端口8022
firewall-cmd --permanent --add-port=3000-4000/tcp
# 开放多个端口,指定范围
firewall-cmd --permanent --remove-port=8080/tcp
# 移除端口
firewall-cmd --reload # 重启防火墙
firewall-cmd --zone=public --list-ports # 查看开启的端口
-------- 直接关闭防火墙 -------
systemctl stop firewalld.service # 临时关闭,一般选择这个
systemctl disable firewalld.service # 永久关闭
systemctl restart httpd.service # 重启
firewall-cmd --state # 查看防火墙状态
------------ linux ping报错Name or service not known
vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
---- centos 6.8 重启网卡
/etc/init.d/network restart
service network restart
Powered by ddoss.cn 12.0
©2015 - 2025 ddoss
渝公网安备50011302222260号
渝ICP备2024035333号
【实验平台安全承诺书】
小绿叶技术社区,优化网络中,点击查看配置信息
主机监控系统: 安全防火墙已开启检查cc攻击-下载文件完成后等待10s 恢复访问,检查连接数低于峰值恢复访问
您的IP:216.73.216.110,2025-12-01 16:11:00,Processed in 0.016 second(s).