linux
文件操作
目录命令
- ls 查看当前目录 (默认以水平方向多文件并排显示)
- ls -lh 以人性化和列表方式显示文件大小
- ls -a 查看当前目录并显示隐藏文件
- ls -l 以列表方式显示文件的详细信息
- ls -h 以个性化方式显示文件大小,单独用不起效
- pwd 显示当前目录路径
- 文件夹 默认以蓝色字体显示,是文件以白色字体显示
- 以 ls -l 的方式显示出来文件,d开头的是目录
通配符的使用
*
代表任意个数的字符- ? 代表任意一个字符,至少一个
- [] 表示可以匹配字符组中的任一 一个
- [abc] 匹配 abc 中的任意一个
- [a- f] 匹配从a 到 f 范围内的任意一个
切换目录
- cd 切换当前用户的主目录,快速回到当前用户的home目录下
- cd .. 切换到上级目录 cd 空格 ..
- cd ~ 与cd命令相同
文件命令
创建
- touch 如果文件不存在则创建空白文件 ,如果存在则修改文件最后修改日期
- mkdir 创建一个目录
- mkdir -p 创建多级目录 例: mkdir -p a/b/c/d
删除
- rm 可以删除文件 删除后不能恢复
- rm -f 强制删除,忽略不存在文件,不提示
- rm -r 递归删除多级目录
拷贝和移动
- tree 以树状图列出文件
- tree -d 只显示目录
- cp 源文件 目标文件 复制文件或文件夹
- cp -i 覆盖时提示
- cp -r 复制目录
- mv 源文件 目标文件 移动文件
- mv -i 覆盖时提示
文件内容命令
-
cat 查看文件内容、创建文件、文件合并、追加文件等功能,把文件内容一次性全部展示出来
- cat -b 对非空输出行编号
- cat -n 对输出的所有行编号
-
more 分屏显示文件内容,文件内容过长时,可以按需加载
- 按空格显示手册页的下一屏
- 按回车一次只向下滚动一行
- b 回滚一屏
- q 退出
-
grep 搜索文本文件内容
- -n 显示行号
- -i 忽略大小写
- -v 取反
- ^a 行首, 以^ 开头 来搜索a文本
- k
$
行尾,以$
为结束来搜索k文本
-
echo 文字内容 在终端显示内容
-
重定向 linux 允许将命令执行结果重定向到一个文件
-
>
表示输出,会覆盖文件原有的内容。把echo要输出的内容放到文件中 -
例如:echo hello word > abc // 此时会创建一个叫abc的文件,文件里面的内容是 hello word 例如:ls -lh > a // 此时会创建一个a 文件,里面存放了 ls -lh 输出的内容
-
>>
表示 追加,会将内容追加到已有文件的末尾
-
-
管道的概念及使用
- linux 允许一个命令的输出,可以通过管道作为另一个命令的输入
- 常用的命令:
more
分屏显示内容grep
在命令执行结果的基础上查询指定的文本。
远程管理命令
- shutdown 关机 /重启
- shutdown -r now 立即重启
- shutdown now 立即关机
- shutdown 18:33 在这个时间关机
- shutdown +10 10分钟后关机
- shutdown -c 取消之前的关机
- ifconfig 查看网卡配置信息
- ping ip 检测到目标ip地址是否正常
SSH 远程登录
-
登录格式
ssh [-p port] user@remoto
- user是 用户名
- remoto 是远程机器的地址,可以是IP/域名,或者别名
- port 是SSH server 监听的端口,如果不指定,默认值是22
- 使用exit可以退出当前的登录
- 注意: ssh只能在linux 和 unix 系统下使用。如果是windwos 系统可以安装PuTTY 或者XShell客户端软件
-
SSH 密钥免密码登录
- 执行
ssh-keygen
即可一键生成密钥,一路回车即可 - 然后上传公钥到服务器
- 执行
ssh-copy-id -p port user@remoto
可以让远程服务器记住我们的公钥
- 执行
-
SSH配置别名
-
在.ssh文件夹下创建一个config的文件
-
追加如下内容
-
Host Mac HostName ip地址 User 用户名 Prot 22
-
SCP远程拷贝
- scp 就是secure copy ,是一个在linux 下用来进行远程拷贝文件的命令
- 他的地址格式与ssh 基本相同,需要注意的是,在指定端口时用的是大写的 -P 而不是小写
- 例如:
scp -P 22 root@127.0.0.1:Desktop/test/hello ./
- 例2:
scp admin@192.168.1.100:Desktop/test/1.txt Desktop
把远程服务器中的1.txt 复制到桌面 - 例3:
scp 1.html admin@192.168.1.100:Desktop
把本地的1.html 文件 复制到服务的桌面 - -r 操作文件夹
用户权限
chmod 修改权限
chmod +or -rwx 文件名或目录名
用户管理
- 创建用户
- useradd -m -g 组
- -m 自动建立用户家目录
- -g 指定用户所在的组,不设置则会建立一个和同名的组
- passwd 用户名 设置用户密码
- 删除用户
- userdel -r 用户名
系统信息
- date 当前时间
- cal 日历
- cal -y 查看一年的日历
- df -h 查看目录磁盘剩余空间
- du -h 目录名 显示目录下的文件大小
- free -h 查看内存
- top 动态查看当前正在运行的进程,并排序。按q退出
- ps aux 查看进程详细信息
- a 显示终端上所有进程,包括其他用户
- u 显示进程的详细状态
- x 显示没有控制终端的进程
- kill 杀死进程, -9 表示强制关掉
打包压缩
-
windows 常用 rar
-
mac 常用 zip
-
linux 常用 tar、gz
-
tar是Linux中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件
-
tar格式的命令如下(tar只负责打包不负责压缩)
-
打包文件 tar -cvf 打包文件.tar 被打包文件的路径 解包文件 tar -xvf 打包文件.tar
-
c 生成档案文件,创建打包文件
-
x 解开档案文件
-
v 列出归档解档的详细过程,显示进度
-
f 指定档案文件名,f 后面一定是.tar 文件 所以必须方选项最后
-
tar -zcvf 打包文件.tar.gz 被压缩打包文件的路径 ------- 打包并压缩
-
tari -zxvf 打包文件.tar.gz --------- 解压缩文件
-
tar -zxvf 打包文件.tar.gz -c 目标路径 -------------解压到指定路径
-
-
bzip2
-
tar与bzip2 命令结合可以使用实现文件打包和压缩(用法和gzip一样)
-
tar 只负责打包文件,但不压缩
-
用bzip2 压缩tar打包后的文件,其扩展名为xxx.tar.bz2
-
在tar命令中有一个 -j 可以调用bzip2 ,从而可以方便的实现压缩和解压的功能
-
命令格式如下:
-
压缩文件 tar -jcvf 打包文件.tar.bz2 被压缩文件的路径 解压文件 tar -xzvf 打包文件.tar.bz2
-
vim 编辑器
打开或新建文件
-
命令:
vi 文件名
-
如果文件已经存在则直接打开文件
-
如果文件不存在则直接会新建文件并打开
打开文件并定位到指定的行
- 命令
vi 文件名 + 行数
- 如果只带上+ 不指定行数,则定位到最后位置
命令模式
- 在打开文件时,默认进入命令模式,通过命令对文件进行常规的编辑操作。例如:定位,复制,粘贴,删除
- 按ESC键可进入命令模式
末行模式:
执行保存、退出 等操作
-
在命令模式下 输入: 进入末行模式
-
w 保存
-
q 退出
-
!q 不保存文件,强行退出
-
x 保存并退出
编辑模式
- 在命令模式下 按 i 可以进入编辑模式
移动命令
- h 向左移动
- j 向下移动
- k 向上移动
- l 向右移动
行数移动
-
set nu 显示行数
-
set nonu 不显示行数
-
gg 文件顶部
-
G 文件末尾
-
数字gg 移动到数字对应行
-
数字G 移动到数字对应对应行
-
数字 移动到数字对应对应行(末行模式)
屏幕移动
- ctrl + b 向上翻页
- ctrl + f 向下翻页
- H 屏幕顶部
- M 屏幕中间
- L 屏幕底部
段落切换和括号切换
- { 上一段落
- } 下一段落
- % 移动到括号
标记
- mx x表示要标记的名称
- ' x x表示回到标记名称的位置
选中文本
- v 可视模式 从光标位置开始按照正常模式选择文本
- V 可视模式 选中光标经过的完整行
- ctrl + v 可视块模式 垂直方向选中文本
撤销和删除
- u 回撤操作
- ctrl + r 恢复撤销命令
- x 删除光标所在字符,或者选中字符
- d 移动命令 删除移动命令对应的内容
- dd 删除光标所在行,可以ndd 复制多行
- D删除空行尾
复制和粘贴
- y 复制
- yy 复制一行,可以
- nyy 复制多行 n表示数字
- p 粘贴
Linux如何查看端口状态
netstat命令各个参数说明如下:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -an | grep 3306 //查看所有3306端口使用情况·
查看一台服务器上面哪些服务及端口
netstat -lanp
查看一个服务有几个端口。比如要查看mysqld
ps -ef |grep mysqld
查看某一端口的连接数量,比如3306端口
netstat -pnt |grep :3306 |wc
查看某一端口的连接客户端IP 比如3306端口
netstat -anp |grep 3306
netstat -an 查看网络端口
lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。
nmap 端口扫描
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)
netstat -anp 显示系统端口使用情况