常见的Linux命令
作用 | |
---|---|
ls | 查看当前文件夹下的内容 |
pwd | 查看当前所在文件夹 |
cd (目录) | 切换文件夹 |
touch (文件名) | 如果文件不存在,新建文件 |
mkdir (文件名) | 创建文件 |
rm (文件名) | 删除指定文件名 |
clear | 清屏 |
查询命令帮助命令
–help或者man
文件与目录命令
ls常用选项
ls -a 显示指定目录下所有的子目录文件,包括隐藏文件
ls -l 以列表方式显示文件的详细信息
ls -h 配合-l以人性化方式显示文件大小 ls -l -h
ls -l 详细信息,从左到右依次是
- 权限:第一个字母如果是d表示目录,如果是-表示文件权限
- 硬链接数:通俗来讲,就是有多少种方式,可以访问到当前目录/文件
- 拥有者 家目录文件/目录的拥有着通常都是当前用户
- 组:在Linux中,很多时候会出现组名和用户名相同的情况
- 大小
- 时间
- 名称
目录 | 拥有者权限 | 组权限 | 其他用户权限 | ||||||
---|---|---|---|---|---|---|---|---|---|
- | r | w | - | r | w | - | r | - | - |
d | r | w | x | r | w | x | r | - | x |
cd命令切换
cd 切换到当前用户的主目录
cd ~ 切换到当前用户的主目录
cd .保持当前用户不变
cd …切换到上级目录
cd - 可以在最近两次工作目录之间来回切换
touch命令
- 如果文件存在,创建一个空白文件
- 如果文件已经存在,可以修改末次的修改日期
mkdir命令
创建一个新的目录
mkdir -p 可以递归创建文件
rm命令(可以使用通配符 *)
删除文件目录
rm -f 强制删除,忽略不存在文件,无需显示
rm -r 递归删除目录下的文件,删除文件夹时必须加此参数
拷贝和移动文件
命令 | 作用 |
---|---|
tree | 以树状列出文件目录结构 |
cp | 复制文件或目录 |
mv (源文件) | 移动文件或者目录/文件或者目录重命名 |
tree命令
以树状图形列出文件目录结构
tree -d 只显示目录
cp命令
复制文件或目录
cp 源文件 目标文件 复制文件或目录
cp -i覆盖文件提示
cp -r
- 若给出的源文件时目录文件,则cp
- 将递归渎职该目录下的多有子目录和文件,目标文件必须为一个目录名
mv命令
移动文件或者目录/文件,也可以进行目录重命名
mv -i 覆盖文件前提示
文件内容命令
命令 | 作用 |
---|---|
cat | 显示文件内容,创建文件,文件合并,追加文件内容 |
more | 分屏显示文件内容(百分比显示,空格显示尾部) |
grep 搜素文件名 | 搜素文本文件内容 |
cat命令
显示文件内容,创建文件,文件合并,追加文件内容
cat -b 对非空输出行编号
cat -n 对输出的所有行编号
more命令
分屏显示文件内容,只可以显示一页的内容
适合文件较多的文本文件
b 回滚一屏 k 前滚一屏 q 退出
grep命令
文本搜素工具,对文本进行搜素
grep -n 显示匹配行及行号
grep -v 显示不包含匹配文本的所有行(相当与求反)
grep -i 忽略大小写
echo命令
显示参数指定的文本
重定向 > >>
允许命令结果重定向到一个文件
将本应显示在终端上的内容 输出/追加到指定文件中
一 >表示输出,覆盖文件原有的内容
一 >> 表示追加,会将内容追加到文件的末尾
管道 |
将一个命令的输出可以通过管道作为另一个命令的输入
常用的管道命令
more grep
远程管理常用的命令
shutdown命令
对电脑进行关机/重启
shutdown 选项 时间
默认:不指定参数命令,一分钟之后关闭电脑
shutdown -r now 立即重启
shutdown -c 取消关机计划
网卡和IP地址
查看网卡配置相关信息
命令 | 作用 |
---|---|
ipconfig | 查看/配置计算机当前的网卡配置信息 |
ping IP地址 | 检测到目标IP地址的连接是否正确 |
网卡是专门负责网络通讯的硬件设备
IP地址是设置在网卡上的地址信息,每个电脑都有自己独立的IP地址,是保障电脑之间正常铜鼓县你的重要设置
ipconfig命令
查看/配置计算机的网卡配置信息
查看IP地址
ipconfig | grep inet
远程登陆和复制文件
SSH全称 Secure Shell (SSH)
数据传输加密,防止DNS欺骗和IP欺骗
数据传输压缩,可以提高传输速度
域名 端口号
域名
用一串用点分割的名字组成
是IP地址的别名,方便用户记忆
端口号
通过端口号可以找到计算机上运行的应用程序
SSH 客户端的简单使用(linux或unix中使用)
ssh [-p port] user@remote
user 远程计算机的用户名,如果不指定的话默认=当前用户
remote 远程计算机地址,可以是IP地址/域名,或者后面的别名
port SSH监听的端口,如果不指定,默认2 2
用户权限相关命令
/etc/passwd 保存用户信息
/usr/bin/passwd 用于修改用户密码的程序
passwd文件
包含信息
用户名 密码 UID GID 用户名全名或本地账号 家目录
在Linux中,可以指定每一个用户针对不同的文件或者目录的不同权限
对文件/目录i的权限包括
序号 | 权限 | 缩写 | 数字代号 |
---|---|---|---|
01 | 读 | read | 4 |
02 | 写 | write | 2 |
03 | 执行 | execute | 1 |
chmod命令
chmod 修改用户/组对文件/目录的权限,修改权限
chmod +/-rwd 文件名|目录名
超级用户
超级用户对所有资源具有访问权限
组管理 终端命令
命令 | 作用 |
---|---|
groupadd 组名 | 添加组 |
groupdel 组名 | 删除组 |
cat/etc/group | 确定组信息 |
chgrp -R 组名 文件名/目录名 | 修改文件/目录的所属组 |
用户管理 终端命令
cat -n /etc/passwd | grep 组名
创建用户/设置密码/删除用户
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2GzRKOab-1664973987793)(C:\Users\31062\AppData\Roaming\Typora\typora-user-images\image-20221004192635935.png)]
用户信息保存在/etc/passwd文件中
查看用户信息
who 查看当前所有登录的用户列表
whoami 查看当前用户的账户名
id 用户名 查看用户UID和GID信息
usermod
主组:通常在新建用户时指定,在/etc/passwd
中GID对应的组
附加组:在etc/group
中最后一列表示该组的用户列表,用于指定用户的附加权限
usermod -g 组 用户名 修改用户的主组
usermod -G 组 用户名 修改用户的附加组
usermod -s /bin/bash 修改登陆shell
which 命令
查看执行命令所在的位置
which ls
which useradd
修改文件权限
chown 用户名 文件名|目录名 修改文件的拥有者
chgrp -R 组名 文件名 递归修改文件|目录的组
chmod -R 755 文件名|目录名 修改文件权限
系统信息
日期和时间
命令 | 作用 |
---|---|
date | 查看系统时间 |
cal | calendar 查看日历,-y可以看一年的日历 |
磁盘信息
命令 | 作用 |
---|---|
df -h | disk free 显示磁盘剩余空间 |
du -h 目录名 | disk usage 显示目录下的文件大小 |
进程信息
进程 当前正在执行的程序
命令 | 作用 |
---|---|
ps aux | process status 查看进程的详细状态 |
top | 动态显示运行中的进程并且排序 |
kill [-9] 进程代号 | 终止指定代号进程,-9表示强制终止 |
ps默认显示当前用户通过终端启动的应用程序
PS 命令
ps a显示终端上的所有进程,包括其他用户的进程
pa u 显示进程的详细状态
ps x 显示没有控制终端的进程
top 命令
动态显示运行中的进程并且排序
注意:退出top使用小写字母q
kill 命令
最好终止当前用户开启的进程,而不要终止root身份开启的进程
否则系统崩溃
其他命令
查找文件命令
在指定目录下 搜索符合条件的文件
find [路径] -name “* .py”
查找指定目录下,包含py的所有文件命令
软链接
ln -s 被链接的源文件的链接文件 名称
建立文件的软链接,类似于Windows下的快捷方式
- 没有-s选项时建立的是硬链接文件
- 两个文件占用相同大小的硬盘空间,工作中几乎不会建立硬链接
- 源文件要使用绝对路径,不能使用相对路径
打包压缩命令
打包命令 tar 命令
把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复为一系列文件
打包文件
tar -cvf 打包文件.tar 被打包的文件/路径
解压文件
tar -xvf 打包文件.tar
选项说明
选项 | 含义 |
---|---|
c | 生成档案文件,创建打包文件 |
x | 解开档案文件 |
v | 列出归档解档的详细过程,显示进度 |
f | 指定档案名称,f后面一定是.tar文件,所以选项必须放到最后 |
注意:f选项必须放在最后面,其他选项随意
解压缩命令 gzip 命令
tar与gzip命令结合可以实现文件的打包和压缩
tar只负责打包文件,但不压缩
在gzip压缩tar打包后的文件,其扩展名一般用xx.tar.gz
注意:tar命令中有 一个选项-z可以调用gzip,从而方便的实现压缩和解压缩的功能
压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径
解压缩文件
tar -zxvf 打包文件.tar.gz
解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
-C 解压到指定目录,要解压的目录必须存在
解压缩命令 bzip2 命令
在tar命令中有一个选项-j可以调用bzip2,从而方便的实现压缩和解压缩的功能
压缩文件
tar -jcvf 打包文件.tar.gz.bz2 被压缩文件/路径
解压缩文件
tar -jcvf 打包文件.tar.bz2
软件安装
apt是Linux下的一款安装包管理工具
sudo apt install 安装软件
sudo apt remove 软件名 卸载软件
sudo apt upgrade 更新已经安装的包
练习:
sudo apt install sl 小火车
sudo apt install htop 交互进程(同top命令)
配置软件源
所有服务器的内容是相同的(镜像),但是根据所在位置不同,国内服务器通常速度会更快
攻防战
ssh <-p 端口> 用户名@IP
scp 文件路径 用户名@IP:存放路径
tar -zcvf web.tar.gz /var/www/html/
w
pkill -kill -t <用户tty>
ps aux | grep pid或者进程名
#查看已建立的网络连接及进程
netstat -antulp | grep EST
#查看指定端口被哪个进程占用
lsof -i:端口号 或者 netstat -tunlp|grep 端口号
#结束进程命令
kill PID
killall <进程名>
kill -
#封杀某个IP或者ip段,如:.
iptables -I INPUT -s . -j DROP
iptables -I INPUT -s ./ -j DROP
#禁止从某个主机ssh远程访问登陆到本机,如123…
iptable -t filter -A INPUT -s . -p tcp --dport -j DROP
#检测所有的tcp连接数量及状态
netstat -ant|awk |grep |sed -e -e |sort|uniq -c|sort -rn
#查看页面访问排名前十的IP
cat /var/log/apache2/access.log | cut -f1 -d | sort | uniq -c | sort -k -r | head -
#查看页面访问排名前十的URL
cat /var/log/apache2/access.log | cut -f4 -d | sort | uniq -c | sort -k -r | head -