目录结构和命令
目录结构
/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令
/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录
/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的
/root:
该目录为系统管理员,也称作超级权限者的用户主目录
/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录
/usr/bin:
系统用户使用的应用程序
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序
/tmp:
这个目录是用来存放一些临时文件的
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件
绝对路径 /root/
相对路径 .. / .. / ..
常用目录 :
/
/home
/etc
/var
/opt
/root
~
.
基本命令
关机重启
reboot 重启
shutdown now 立刻关机
-c:取消已经在进行的 shutdown 命令操作
-f:重新启动时不执行fsck
-F:重新启动时执行fsck
-h (xx.xx):将系统关机(默认一分钟之后,可以在xx.xx处设置关机时间)
-k:只是送出信息给所有用户,但不会实际关机
-n:不调用init程序进行关机,而由shutdown自己进行
-r:shutdown之后重新启动
-t<秒数>:送出警告信息和删除信息之间要延迟多少秒
文件目录管理
ls 显示目录内容列表
cd 切换用户当前工作目录
pwd 绝对路径方式显示用户当前工作目录
cp 将源文件或目录复制到目标文件或目录中
rm 用于删除给定的文件和目录
mv 用来对文件或目录重新命名
mkdir 用来创建目录
rmdir 用来删除空目录
绝对路径:由根目录写起 root@kali:~# cd /var/www/html
相对路径:不是由根写起 root@kali:/var/www/html# cd ../ ../log/
pwd
$pwd
显示的是当前工作目录的绝对路径
cd
cd 进入用户主目录
cd ~ 进入用户主目录
cd - 返回进入此目录之前所在的目录
cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";" .. "为上级目录的意思)
cd .. / .. 返回上两级目录
cd !$ 把上个命令的参数作为cd参数使用
touch
touch hello.txt 在当前目录创建文件(文件前面加"."表示隐藏文件)
-a:或 --time=atime或 --time=access或 --time=use 只更改存取时间
-c:或 --no-create 不建立任何文件
-d:<时间日期> 使用指定的日期时间,而非现在的时间
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
-m:或 --time=mtime或 --time=modify 只更该变动时间
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同
-t:<日期时间> 使用指定的日期时间,而非现在的时间
--help:在线帮助
--version:显示版本信息
ls
-a 显示所有文件,包括隐藏文件
-l 详细信息l's显示
-d 查看目录属性
clear
clear清除当前终端上的数据
帮助命令
man
man ls 查看ls的帮助手册
help
ls --help 查看ls的帮助手册
ifconfig
ifconfig 查看网卡配置信息,可以用这个查看自身的ip地址
ping 测试与目标主机的连通性
ctrl+c 取消
用户
切换用户
su root 切换为root用户
sudo 以root身份来执行命令
exit 退出当前用户
su - root 切换用户同时切换为指定用户根目录
权限问题
root权限 > 普通用户权限
从高权限用户用户切换为低权限用户不需要输入密码
从低权限用户切换为高权限用户需要输入密码
新增用户
useradd zhangsan 添加用户zhangsan
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中
-d<登入目录>:指定用户登入时的启始目录
-D:变更预设值
-e<有效期限>:指定帐号的有效期限
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号
-g<群组>:指定用户所属的群组
-G<群组>:指定用户所属的附加群组
-m:自动建立用户的登入目录
-M:不要自动建立用户的登入目录
-n:取消建立以用户名称为名的群组
-r:建立系统帐号
-s:指定用户登入后所使用的shell
-u:指定用户id
删除用户
userdel zhangsan 删除用户zhangsan
userdel -r zhangsan 删除用户张三并删除用户根目录
-f:强制删除用户,即使用户当前已登录
-r:删除用户的同时,删除与用户相关的所有文件
修改密码
passwd //修改用户密码
passwd root //修改root密码
passwd zhangsan ˌ//修改zhangsan用户密码
远程连接虚拟机
SSH
SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。
SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
ssh root@ip地址 连接到远程服务器进行管理
SSH配置
- 开启密码登录、允许root用户登录:
vim /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
PermitRootLogin yes
- 开启或重启ssh:
service ssh start
service ssh restart
- 查看22端口是否开启监听:
netstat -anltup | grep 22
- 添加开机启动:
systemctl enable ssh
update-rc.d ssh enable
- 终端连接:
ifconfig
ssh root@192.168.123.136
scp
scp 本地文件 root@ip地址:远程目录
scp 1.txt root@192.168.164.134
将文件上传至远程目录
目标服务器要开启写入权限,用root可以到处写,但是其他的就可能有限制
mobaxterm
- MobaXterm 分免费开源版和收费专业版,推荐下载免安装版 (Portable edition):下载官网免费开源版
- 解压之后,双击运行 MobaXtermPersonal23.0.exe
- 配置mobaxterm
其他linux命令
mkdir
mkdir sillage
创建sillage目录
mkdir -p /sillage/sillage1/sillage2
逐层创建目录
-Z:设置安全上下文,当使用SELinux时有效
-m<目标属性>或 --mode<目标属性>建立目录的同时设置目录的权限
-p或 --parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录
--version 显示版本信息
rmdir
rmdir sillage
删除目录 sillage
rmdir a/b/c
当删除c目录后b目录为空目录则也进行删除a目录同理
-p或 --parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除
--ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息
-v或-verboes:显示命令的详细执行过程
--help:显示命令的帮助信息
--version:显示命令的版本信息
rm
rm 文件
删除文件
rm -rf 文件
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录
-f:强制删除文件或目录
-i:删除已有文件或目录之前先询问用户
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理
--preserve-root:不对根目录进行递归操作
-v:显示指令的详细执行过程
mv
mv 源文件 目的文件
作为移动文件或者重名了时使用
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份
-b:当文件存在时,覆盖前,为其创建一个备份
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖
--strip-trailing-slashes:删除源文件中的斜杠“/”
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀
--target-directory=<目录>:指定源文件要移动到目标目录
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作
history
-c:清空当前历史命令
-a:将历史命令缓冲区中命令写入历史命令文件中
-r:将历史命令文件中的命令读入当前历史命令缓冲区
-w:将当前历史命令缓冲区命令写入历史命令文件中
查看文件内容
cat
cat zhangsan.txt
查看zhangsan.txt文件内容
-n或 --number:从1开始对所有输出的行数编号
-b或 --number-nonblank:和-n相似,只不过对于空白行不编号
-s或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行
-A:显示不可打印字符,行尾显示“$”
-e:等价于"-vE"选项
-t:等价于"-vT"选项
more
more 1.txt
查看1.txt文件内容
-<数字>:指定每屏显示的行数
-d:显示 “[press space to continue,'q' to quit.]” 和 “[Press 'h' forinstructions]”
-c:不进行滚屏操作,每次刷新这个屏幕
-s:将多个空行压缩成一行显示
-u:禁止下划线
+<数字>:从指定数字的行开始显示
按Space键:显示文本的下一屏内容
按Enier键:只显示文本的下一行内容
按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式
按H键:显示帮助屏,该屏上有相关的帮助信息
按B键:显示上一屏内容
按Q键:退出rnore命令
tail
tail 1.txt
从末尾开始显示文件内容
文件列表:指定要显示尾部内容的文件列表
--retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项 “——follow=name” 连用
-c或——bytes=:输出文件尾部的N(N为整数)个字节内容
-f<name/descriptor> 或; --follow:显示文件最新追加的内容
“name” 表示以文件名的方式监视文件的变化。“-f” 与 “-fdescriptor” 等效
-F:与选项 “-follow=name” 和 “ --retry" 连用时功能相同
-n 或——line=:输出文件的尾部N(N位数字)行内容
--pid=<进程号>:与 “-f” 选项连用,当指定的进程号的进程终止后,自动退出 tail 命令
-q 或 ——quiet 或 ——silent:当有多个文件参数时,不输出各个文件名
-s<秒数> 或 ——sleep-interal=<秒数>:与 “-f” 选项连用,指定监视文件变化时间隔的秒数
-v 或——verbose:当有多个文件参数时,总是输出各个文件名
--help:显示指令的帮助信息
--version:显示指令的版本信息
写入文件内容
echo
echo "sillage777"
输出sillage777
echo "sillage777" > sillage.txt
输出sillage777到sillage.txt中
touch
touch 1.txt
创建1.txt文件
-a:或 --time=atime 或 --time=access 或 --time=use 只更改存取时间
-c:或 --no-create 不建立任何文件
-d:<时间日期> 使用指定的日期时间,而非现在的时间
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
-m:或 -time=mtime 或 --time=modify 只更该变动时间
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间同
-t:<日期时间> 使用指定的日期时间,而非现在的时间
--help:在线帮助
--version:显示版本信息
gedit
gedit 1.txt
图形化界面编辑1.txt文件
权限管理
Linux文件属性
r:4
w:2
x:1
属主:u(user)
数组:g(group)
其他:o(other)
chmod
chmod u+x,g+w f01 为文件f01设置自己可以执行,组员可以写入的权限
chmod u=rwx,g=rw,o=r f01
chmod 764 f01
chmod a+x f01 对文件f01的u,g,o都设置可执行属性
文件的属主和属组属性设置
chown user:market f01 # 把文件f01给uesr,添加到market组
ll -d f1 查看目录f1的属性
将/home/wwwroot/里的所有文件和文件夹设置为755权限
(1)直接指定路径修改
chmod -R 755 /home/wwwroot*
(2)手动进入该目录修改权限(并显示详细过程)
cd /home/wwwroot
chmod -Rv 755 * #注意:“*”表示通配符,指的是所有文件和文件
sudo chmod o+rw /shared #设置文件夹权限以保证其余用户可以访问它。
权限范围的表示法如下:
u User,即文件或目录的拥有者
g Group,即文件或目录的所属群组
o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围
a All,即全部的用户,包含拥有者,所属群组以及其他用户
r 读取权限,数字代号为“4”
w 写入权限,数字代号为“2”
x 执行或切换权限,数字代号为“1”
- 不具任何权限,数字代号为“0”
s 特殊功能说明:变更文件或目录的权限
u # 操作对象简称,用户user,文件或目录的所有者
g # 操作对象简称,同组用户group,文件或目录所属群组
o # 操作对象简称,其它用户others
a # 操作对象简称,所有用户all,系统默认使用此项
chown
chown sillage 1.txt
更改文件1.txt的所有者为sillage
chown sillage:sillage 1.txt
更改文件1.txt的所属者和所属组为sillage
vim编辑器
打开文件
vi
vi test.txt
打开文件test.txt
使用方式 vi 参数 文件名
+<行号>:从指定行号的行开始先是文本内容
-b:以二进制模式打开文件,用于编辑二进制文件和可执行文件
-c<指令>:在完成对第一个文件编辑任务后,执行给出的指令
-d:以diff模式打开文件,当多个文件编辑时,显示文件差异部分
-l:使用lisp模式,打开“lisp”和“showmatch”
-m:取消写文件功能,重设“write”选项
-M:关闭修改功能
-n:不实用缓存功能
-o<文件数目>:指定同时打开指定数目的文件
-R:以只读方式打开文件
-s:安静模式,不现实指令的任何错误信息
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b:向文件首翻一屏
Esc:从编辑模式切换到命令模式
ZZ:命令模式下保存当前文件所做的修改后退出vi
:行号:光标跳转到指定行的行首
:$:光标跳转到最后一行的行首
x或X:删除一个字符,x删除光标后的,而X删除光标前的
D:删除从当前光标到光标所在行尾的全部字符
dd:删除光标行正行内容
ndd:删除当前行及其后n-1行
yy:复制当前行
nyy:复制从光标开始的n行
p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方
P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方
/字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示
?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示
a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作
a:在当前字符后添加文本
A:在行末添加文本
i:在当前字符前插入文本
I:在行首插入文本
o:在当前行后面插入一空行
O:在当前行前面插入一空行
:wq:在命令模式下,执行存盘退出操作
:w:在命令模式下,执行存盘操作
:w!:在命令模式下,执行强制存盘操作
:q:在命令模式下,执行退出vi操作
:q!:在命令模式下,执行强制退出vi操作
:e文件名:在命令模式下,打开并编辑指定名称的文件
:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件
:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例
:set number:在命令模式下,用于在最左端显示行号
:set nonumber:在命令模式下,用于在最左端不显示行号
vi使用模式
网络配置
网络模型
NAT模式
桥接模式
仅主机模式
DNS配置
无法做域名解析,只能ping通ip地址不能访问网站
ifconfig 查看
service networking restart 重启网络服务
测试链接
执行ping www.baidu.com 命令
命令行配置ip地址
-
输入命令vim /etc/sysconfig/network-scripts/ifcfg-ens33
-
修改BOOTPROTO=dhcp 为BOOTPROTO=static并添加如IPADDR,NETMASK,GATEWAY等配置信息
-
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=29d6c9cd-b1d6-4627-a799-fda602902bdc
DEVICE=ens33
ONBOOT=no
原始内容修改后为
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=29d6c9cd-b1d6-4627-a799-fda602902bdc
DEVICE=ens33
ONBOOT=no
IPADDR=192.168.---.-
NETMASK=255.255.255.0
PREFIX=24
GATEWAY=192.168.---.2
DNS1=8.8.8.8
-
进行重启reboot
压缩包命令
.gz
gzip 文件
gzip yiye.txt
压缩sillage.txt文件压缩为.gz文件
gunzip sillage.txt.gz
解压gzip压缩后的文件
-a或——ascii:使用ASCII文字模式
-d或 --decompress或----uncompress:解开压缩文件
-f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
-h或——help:在线帮助
-l或——list:列出压缩文件的相关信息
-L或——license:显示版本与版权信息
-n或 --no-name:压缩文件时,不保存原来的文件名称及时间戳记
-N或——name:压缩文件时,保存原来的文件名称及时间戳记
-q或——quiet:不显示警告信息
-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理
-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串
-t或——test:测试压缩文件是否正确无误
-v或——verbose:显示指令执行过程
-V或——version:显示版本信息
-<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高
--best:此参数的效果和指定“-9”参数相同
--fast:此参数的效果和指定“-1”参数相同
-num 用指定的数字num调整压缩的速度,-1或 --fast表示最快压缩方法(低压缩比),-9或 --best表示最慢压缩方法(高压缩比)系统缺省值为6
.zip
zip -r home.zip home/
把/home以及/home下的所有文件,文件夹递归的压缩成一个.zip文件
unzip home.zip
unzip home.zip -d /opt/
解压压缩包
-d参数指定解压位置
zip 选项 参数
-A:调整可执行的自动解压缩文件
-b<工作目录>:指定暂时存放文件的目录
-c:替每个被压缩的文件加上注释
-d:从压缩文件内删除指定的文件
-D:压缩文件内不建立目录名称
-f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中
-F:尝试修复已损坏的压缩文件
-g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件
-h:在线帮助
-i<范本样式>:只压缩符合条件的文件
-j:只保存文件名称及其内容,而不存放任何目录名称
-J:删除压缩文件前面不必要的数据
-k:使用MS-DOS兼容格式的文件名称
-l:压缩文件时,把LF字符置换成LF+CR字符
-ll:压缩文件时,把LF+cp字符置换成LF字符
-L:显示版权信息
-m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中
-n<字尾字符串>:不压缩具有特定字尾字符串的文件
-o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同
-q:不显示指令执行过程
-r:递归处理,将指定目录下的所有文件和子目录一并处理
-S:包含系统和隐藏文件
-t<日期时间>:把压缩文件的日期设成指定的日期
-T:检查备份文件内的每个文件是否正确无误
-u:更换较新的文件到压缩文件内
-v:显示指令执行过程或显示版本信息
-V:保存VMS操作系统的文件属性
-w:在文件名称里假如版本编号,本参数仅在VMS操作系统下有效
-x<范本样式>:压缩时排除符合条件的文件
-X:不保存额外的文件属性
-y:直接保存符号连接,而非该链接所指向的文件,本参数仅在UNIX之类的系统下有效
-z:替压缩文件加上注释
-$:保存第一个被压缩文件所在磁盘的卷册名称
-<压缩效率>:压缩效率是一个介于1~9的数值
unzip 选项 参数
-c:将解压缩的结果显示到屏幕上,并对字符做适当的转换
-f:更新现有的文件
-l:显示压缩文件内所包含的文件
-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
-t:检查压缩文件是否正确
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中
-v:执行时显示详细的信息
-z:仅显示压缩文件的备注文字
-a:对文本文件进行必要的字符转换
-b:不要对文本文件进行字符转换
-C:压缩文件中的文件名称区分大小写
-j:不处理压缩文件中原有的目录路径
-L:将压缩文件中的全部文件名改为小写
-M:将输出结果送到more程序处理
-n:解压缩时不要覆盖原有的文件
-o:不必先询问用户,unzip执行后覆盖原有的文件
-P<密码>:使用zip的密码选项
-q:执行时不显示任何信息
-s:将文件名中的空白字符转换为底线字符
-V:保留VMS的文件版本信息
-X:解压缩时同时回存文件原来的UID/GID
-d<目录>:指定文件解压缩后所要存储的目录
-x<文件>:指定不要处理.zip压缩文件中的哪些文件
-Z:unzip-Z等于执行zipinfo指令
.tar.gz
tar -zvcf home.tar.gz /home/
打包并压缩home目录下的文件
tar -zxvf home.tar.gz
解压home.tar.gz压缩包
tar -zxvf home.tar.gz -C /opt/tmp
指定解压位置
A或 --catenate:新增文件到以存在的备份文件
-B:设置区块大小
-c或 --create:建立新的备份文件
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
-d:记录文件的差别
-x或 --extract或 --get:从备份文件中还原文件
-t或 --list:列出备份文件的内容
-z或 --gzip或 --ungzip:通过gzip指令处理备份文件
-Z或 --compress或 --uncompress:通过compress指令处理备份文件
-f<备份文件>或 --file=<备份文件>:指定备份文件
-v或 --verbose:显示指令执行过程
-r:添加文件到已经压缩的文件
-u:添加改变了和现有的文件到已经存在的压缩文件
-j:支持bzip2解压文件
-v:显示操作过程
-l:文件系统边界设置
-k:保留原有文件不覆盖
-m:保留文件不被覆盖
-w:确认压缩文件的正确性
-p或 --same-permissions:用原来的文件权限还原文件
-P或 --absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号
-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里
--exclude=<范本样式>:排除符合范本样式的文件
.tar
上述命令相同,少去-z参数即可