//ubuntu/centos/debian/kali/redhat/opensuse/archlinux
whoami
who
cd /
ls -alh
usermod -G / -g / -s /bin/bash 用户名
which ls/pwd/mkdir/mkdir/chmod/passwd/
which useradd
systemctl start ssh
systemctl status ssh
sudo useradd -m -g hhs heshan
sudo usermod -s /bin/bash heshan
sudo usermod -a G sudo heshan
加用户组
groupadd groupname 添加用户组
groupdel groupname 删除用户组
PS:关于组的增加和删除信息会在etc目录的group文件中找到 命令cat /etc/group 可以看到自己的分组和分组id
关于修改用户权限有一个简单粗暴的方法
直接vi /etc/password 进行修改 是不是很暴力。。。
下面说正事儿,关于uid:
0 表示管理员(root)
1 - 500 表示系统用户
501 - 65535 表示普通用户 一般是这样的,不过不同的Linux版本可能有些偏差
chown [-cfhvR] [–help] [–version] user[:group] file…
su - / su 用户名 /su - 用户名 su 的三种用法 sudo su - 回到root目录下
sudo useradd -m -g dev zhaoliu
cat -n /etc/passwd | grep zhaoliu
passwd zhaoliu [username]
sudo userdel -r zhaoliu删除先关用户
ls /home 查看有几个用户
修改问价权限的命令
chown 修改拥有者
chgrp 修改组
chmod 修改权限
chown 用户名 文件名 |目录名
chgrp -R【递归修改子目录】 组名 文件名 |目录名
chmod -R 755 文件名|目录名
三个数字 拥有者、组、其他用户的权限
chmod +/- rwx 文件名|目录名
sudo chmod -R 777 文件名|目录名
修改所有目录以及目录下的所有文件权限
chmod -R 775 目录
linux-centos-redhat-kali-ubuntu
python
系统信息相关命令
时间和日期
date
cal -y 选项查看一年的日历
磁盘和目录空间
df -h disk free显示磁盘剩余空间
du -h disk usage 显示目录下的文件大小
进程信息
ps ps process status
ps aux
a:显示终端上所有的进程信息 包括其他用户的进程
u:显示进程的详细专题太
x:显示没有控制终端的进程
top q 退出top进程表 实时更新的进程表
kill 最好只终止当前用户开启的进程,而不要终止root身份开启的进程 否则可能导致系统崩溃
pid 进程代号
%cpu
%mem
kill -9 +进程号pid
other command
find
ln
tar
apt-get
find 查找文件
find {路径} -name “.py”
不加 {路径}表示查询当前文件件下的查找
通配符 * 表示任意字符
find -name “.txt"
find Desktop/ -name ".txt”
//文件的软连接–快捷方式
创建文件的软连接 ----
ln -s 被连接的源文件(实际文件夹) 链接文件(快捷方式)
源文件是绝对路径 不能使用相对路径
1、移动文件 某个文件 到 demo/b/c 目录下
2、在桌面目录下新建01.py 的 软连接 firstpython
3、将firstpython 移动到demo目录下 对比使用相对路径和绝对路劲的差异
mv 01.py /demo/b/
ln -s /home/python/Desktop/demo/b/c/01.py 01_juedui
/home/cosmo/Desktop/
硬链接 是什么意思?
建立硬链接之后 是可以保存 链接文件下的源文件的
ln 后面不添加(-s)则建立硬链接
linux 中 文件名和文件的数据是分开存储的
硬链接 就是文件的另一个文件名
在日常工作中,几乎不会建立文件的硬链接 知道即可
软链接远多于硬链接的使用
打包压缩
windows rar
Mac zip
linux tar.gz
tar是linux 常用的备份工具 把一系列文件打包到一个大文件中 也可以吧一个打包的大文件 恢复成一系列文件
tar -cvf 打包文件名.tar
tar -xvf 打包文件名.tar
c 生成档案文件 创建打包文件
x 解开档案文件
v 列出归档解档的详细过程 显示进度
f 指定档案文件名称 f 后面 一定是.tar 文件 所以必须放在选项最后
其他选项顺序可以随意
rm -r * 删除所有文件及文件夹
打包tar -cvf py.tar 01.py 02,py 03.py
mkdir tar
mv py.tar tar
压缩和解压缩
gzip
linux中使用gzip 生成 tar.gz
tar -zcvf +压缩文件 -z调用gzip功能
tar -zxvf +解压缩文件
bzip2
tar -jcvf tarname.bz2 +压缩文件、文件名
tar -jxvf tarname.bz2
-C 选项
sudo apt install sl
sudo apt intall htop
vi / vim
vi=visual interface
vim=vi improved
代码补全、编译、错误跳转 编辑器之神
vim
yy 19p
which vi
ls -l /usr/bin/vi
ls -l /usr/alternativers/vi
ls -l /usr/bin/vim.basic
which vim
ls -l /usr/bin/vim
ls -l /usr/alternativers/vim
ls -l /usr/bin/vim.basic
vi heshan.txt +16 行数
行数移动
gg =go文件顶部
G =go 文件末尾
数字gg =go 移动到数字 对应的行数
数字 G =go 移动到数字 对应的行数
:数字 移动到数字对应的行数
4\\\\\\\\\\\\\\\\\\\\\
屏幕移动
ctrl+b =back向上翻页
ctrl+f =forward向下翻页
H =head屏幕顶部
M -middle屏幕中间
L =LOW 屏幕底部
\\\\\\\\\\\\\\\\\\\\\
段落移动
编写程序开发 通常{上一段 }下一段
括号切换
{}【】()
%切换匹配ctrl+5= %
\\\\\\
标记命令
mx mark 添加标记x,x是a-z A-Z之间的任意一个字母
'x 直接定位到标记x的位置 这个是标记是一个隐藏的功能 看不到标记
ESC 切换模式
可视行模式
v 可视模式
V 可视行模式
ctrl + v 可视块模式
撤销和恢复撤销
d 删除
u 恢复 undo
ctrl+r redo
删除命令/文本
x cut 删除光标所在字符,或者选中文字
d delete 删除移动命令对应的内容
dd delete 删除光标所在行,可以ndd复制多行
D delete 删除至行尾
dw 从光标位置删除到单词末尾
d0 从光标位置删除到一行的起始位置
d} 从光标位置删除到段落结尾
ndd 从光标位置向下连续删除 n 行
d代码行G 从光标所在行 删除到 指定代码行之间的所有代码
d’a 从光标所在行 删除到 标记a 之间的所有代码
复制和粘贴
y copy
yy copy nyy y} 复制段落
p past
文本缓冲区
vi 其他软件中ctrl+c复制的内容 不能在vi 中直接粘贴
替换命令
r replace 替换当前字符
R replace 替换
R world esc
缩排 和重复执行
<<
.重复上次命令
route -n 查看路由信息
arp -d 192.168.150.2 && curl www.baidu.com
netstat -anptl
增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)
tcpdump
tcpdump -i eth0 -s 0 -w a.cap
tcpdump -r a.cap
tcpdump -A -r a.cap ascII
tcpdump -n -r a.cap | awk ‘{print $3}’ | sort -ubuntu
tcpdump -n udp port 53 -r a.cap
$ tcpdump -i eth0 -nn -s0 -v port 80
-i : 选择要捕获的接口,通常是以太网卡或无线网卡,也可以是 vlan 或其他特殊接口。如果该系统上只有一个网络接口,则无需指定。
-nn : 单个 n 表示不解析域名,直接显示 IP;两个 n 表示不解析域名和端口。这样不仅方便查看 IP 和端口号,而且在抓取大量数据时非常高效,因为域名解析会降低抓取速度。
-s0 : tcpdump 默认只会截取前 96 字节的内容,要想截取所有的报文内容,可以使用 -s number, number 就是你要截取的报文字节数,如果是 0 的话,表示截取报文全部内容。
-v : 使用 -v,-vv 和 -vvv 来显示更多的详细信息,通常会显示更多与特定协议相关的信息。
port 80 : 这是一个常见的端口过滤器,表示仅抓取 80 端口上的流量,通常是 HTTP。
错误: 找不到或无法加载主类 cosmo.test.test1
原因: java.lang.ClassNotFoundException: cosmo.test.test1
find / -name ‘interfaces’“
permitrootlogin prohibit-password
changto
permitrootlogin yes
root修改密码
1、进入e
2、utf-8\rd.bresk
3、chroot /sysroo
4、passwd
5、reboot
man man
/man
?E
echo a
a=10
echo $a
a=20
echo $20
A=/etc/sysconfig
cd $A
echo $SHELL
date
date -s "20201229 12:08:00 "
date “+%Y/%m/%d %H:%,M:%S”
reboot
poweroff
wget -c//-c表示断点续存
ll=l -l
ifconfig
who
whoami
uname
cat /etc/redhat-rele
uname -r
3.10兼容虚拟机比较多
uname -a
查询内核和版本号等
history -c清空
history -d num
指定删除某一条记录
history 默认保存1000条命令
/etc/profile --HISTIZE
source /etc/profile
cd /etc/sysconfig
cd /root/
history
~ 118(直接使用这个命令 重复命令)
选择性的保留相关命令
cd /etc/sysconfig
vim /etc/sysconfig
HISTCONTROL=ignorespace
source /etc/profile
nmap 命令
nmap -sS -p- -Pn -sV
kali上用nmap能根据目标IP地址扫描出目标是什么操作系统
cat filename
more filename
less filename
head filename
tai filename
cat /etc/httpd/conf/httpd.conf
head filename -n5 输出头部5行
tai filename
tail -f /var/log/messages -f动态显示系统日志
wc -l filename 统计数
-c 字节数 -l 行数 -w 单词数
mkdir /root/linux/thimo -p [-p递归]
touch
cp -r 源文件 目的文件 -r 递归 -a参数 all 全部
mv 源文件 目标文件 相当于windows 剪切命令
rm -rf filename -rf 表示 r目录recursion f 表示强制 force
mv thinkmo/ /tmp/
反选
grep -v "root " /etc/passwd
man cd cp rm touch mkdir 重要参数
通配符 管道符
转义字符
1、输入输出重定向、环境变量
2、用户与用户组
3、文件类型与文件权限(普通权限、特殊权限、隐藏权限)
1、
输入重定向把文件导入命令中
输出重定向原本输出到屏幕的数据写入到文本中
标准输入重定向 STDIN 文件描述符 0 默认键盘输入
标准输出重定向 STDOUT描述符1 默认输入到所有终端、屏幕
错误输出重定向 STDERR 描述符2 默认输出到屏幕
”
bc
free
halt
init 0 3 5 6
ifconfig
poweroff
runlevel
tty
startx
uname -r
who -r
shoami
who am i
学神
BIOS
GNOME -terminal
KDE koconsle -teminal
type cat / pwd
1、用户管理 添加删除
2、权限管理
3、磁盘管理 分区 raid lvm
4、软件管理
5、网络管理
#root 管理员用户
$heshan 普通用户
BASH SHELL
head /etc/passwd
root❌0:0:root:/root:/usr/bin/zsh
daemon❌1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin❌2:2:bin:/bin:/usr/sbin/nologin
sys❌3:3:sys:/dev:/usr/sbin/nologin
sync❌4:65534:sync:/bin:/bin/sync
games❌5:60:games:/usr/games:/usr/sbin/nologin
man❌6:12/var/cache/man:/usr/sbin/nologin
lp❌7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail❌8:8:mail:/var/mail:/usr/sbin/nologin
news❌9:9:news:/var/spool/news:/usr/sbin/nologin
ls /bin/bash -l
d 目录文件
i 链接文件
b 块设备文件
c 字符设备文件
p 管道文件
-: 表示普通文件
linux不同颜色代表不同的文件
蓝色 目录 /etc
黑色 文件 /etc/passwd
浅蓝色 链接 /etc/grub2.cfg
红色 压缩包 boot.tar.gz
绿色 可执行文件 /etc/init.d/network
黑底黄字 设备文件 /dev/sda
ls -d /etc 看文件
ls -lS /boot/
ll = ls -l
type ll
alias vimens33=‘vim /etc/sysconfig/network-scripts/ifcfg-ens33’
unalias 取消别名 = 非永久别名、
如何设置永久别名
vim /root/.bashrc
添加
alias vimens33=‘vim /etc/……’
生效 source /root/.bashrc
vim /etc/bashrc
修改后 所有用户有权限 使用alias
ctrl+l
ctrl+d
ctrl+c
ctrl+r
cat /etc/hosts
vim !$ 相当于 上一个命令的
查看硬件时间
hwclock
查看系统时间
date
–help
-s --set =STRING
date -s “2020 - 8 - 6 22:07”
date “+%F”
显示年月日
date “+%Y-%M-%D-%H-%M-%S”
date “+%Y/%M/%D/%H/%M/%S”
date “+%Y:%M:%D:”%H:%M:%S”
date -d “+1 months” +%F
time ls -l /etc/
测试一个命令的时间 做调优用
real 实际使用的时间
user 用户状态使用的时间
sys 内核状态使用的时间
man find 老手使用的命令
shutdown
init 0
reboot
poweroff
shutdown -h +10
shutdown -r 23:30
shutdown -h now
shutdown -c
init 0-6
0代表关机
1代表单用户使用
2代表多用户的使用 没有NFS 和网络支持
3 完整的多用户文本模式 有NFS 用户和网络支持 登录后进入控制台命令行模式 最常用
4系统未使用
5 启动到用户 图形化模式 登录后 进入GUI X WINDOWS
centos 8不再使用.etc/inittab
systemctl get-default
systemctl isolate multi-user.target 3 切换为字符界面
systemctl set-default multi-user.target 设置默认第三启动模式 字符界面
systemctl set-default graphical.target 设置默认第五启动模式 图形化界面
systemctl isolate graphical.target 5 切换为图形界面
startx 开启一个图形界面
runlevel
init 5
2.6 实战 设置服务器来电后自动开机
integrated per
super IO device press enter
restore on ac power loss power off -->> power on 若加电之前断电状态 选择 last state
2.7设置服务器定时开机
svn -git 代码管理服务器
power management
wake up event setup press enter
resume by rtc alarm
date HH:MM:SS
/
mount /dev/sr0
mount /dev/cdrom
ll /dev/cdrom
mount /dev/cdrom /mnt
rpm -ivh /mnt/BaseOS/packet
查看文件类型 file /user/bin/find
ls /boot/
uname -r
cat /proc/cpuinfo
/run /proc /mnt /sys /sbin /tem
ls /bin
ls /sbin
touch .file {6…20}
ehco aaa > xuegod.txt 重定向输出
echo aaa
dnf
iptables
firewalld
nettables
systemctl resstart network NetworkManager
nmcli centos 8 启动网卡
mkdir
mkdir -p /a/b/b/b/b
ls /home/
elk ELK EFK //ver ^^^
shell 脚本 记住一种命令 永远不会忘掉
rm -rf a.txt 直接删除一个 文件
cp 源文件/目录 目标文件/目录
-R/r 11:56 2021/1/3
mv passwd dir1
mv xuegod.txt /opt/a.xtxt
more
less
head 显示前十行
tail显示后十行
XFS文件系统的备份和恢复
xfsdump xfsrestore
df -T
xfdump -f /opt/dump_sda1_v2 /dev/sdb1 -L dump_sdb1_v2 -M sdb1_is_bigdata
增量备份和恢复必须按照一定的顺序进行 完全备份 增量1 增量2 恢复备份 增量1 增量2