[toc]
常用命令行
ifconfig
查看 ip 地址
目录操作
cd ~ #跳转到当前用户的跟目录
cd - #返回到上一次的工作目录
rmdir #命令用来删除空目录
mkdir #创建目录
mv f1 f2 # 将文件f1 重命名为f2,如果已经有f2 会将其覆盖;文件夹同理
mv /xx /yy
#将文件夹或文件 xx 放到 yy 文件夹下 `mv fileName ..` 将文件放入父一级目录
# -f 强制直接移动而不询问
# -i:若目标文件已经存在,就会询问是否覆盖
# -u:若目标文件已经存在,且源文件比较新,才会更新;
pwd #显示当前目录地址
find / -name fileName #在指定目录下查找文件
whereis #查找文件 `whereis nginx` 查找 nginx 的安装地址
ls -l #-l 显示文件的创建时间
# 统计文件个数
ls -l | grep "^-" | wc -l # 不包括目录
ls -lR| grep "^-" | wc -l # 包括目录
# 统计目录下文件夹(目录)的个数
ls -lR | grep "^d" | wc -l # 包括目录
文件操作
touch filename # 用于修改文件或者目录的时间属性,若文件不存在,系统会建立一个新的文件
echo 'test' > ts.txt #创建文件,并写入'test'
echo 'test add' >> ts.txt #追加内容
# 上传文件 MobaXterm
# 直接拖拽,如果出现权限问题,进入文件夹父级,执行
sudo chmod 777 文件夹名/ #会提示输入密码 成功后就可以拖拽文件了, # ubuntu 尝试 切回普通用户 可以上传
# r 4可读 w 2可写 x 1执行
# 当前文件的拥有者的权限(第一个7) 当前文件的所属组(同组用户)权限(第二个7) 当前文件的组外权限(第三个7)
tar -xf xx.tar.gz
tar -czf 压缩文件夹名.tar.gz 被压缩文件夹名 #压缩 压缩当前文件夹 用 *
tar -xzf 压缩文件夹名.tar.gz -C someFloder #解压 有同名文件会被直接替换
# 打包且压缩 用 tar 最适合
# -x 从备份文件还原文件 -f 指定备份文件
# -z 参数表示以 .tar.gz 或者 .tgz 后缀名代表 gzip 压缩过的 tar 包
# -v 打印操作的文件等信息
# -C 解压到指定文件夹
tar -czf dist.tar.gz * # 压缩当前文件夹
tar -xzf dist.tar.gz # 解压到当前文件夹 同名覆盖
gzip a.md (gzip a.md -c > a.md.gz) # gzip 只能压缩解压文件 括号内表示保留原文件
gzip a.md.gz -d (gzip a.md.gz -c > a.md)
gunzip
zip -r 名称.zip 文件夹或多个文件 # -m 删除原始文件 -r 递归
unzip -o xxx.zip #解压文件 -o 覆盖不用询问 -v 查看文件不解压
rm -f * #删除当前目录下的文件,只能删文件 -f 强制
rm -rf * #递归删除当前目录下的文件和文件夹 -r 递归
cp 命令
cp –r a/ b # 将a目录和其下内容放到b中
cp –r a/* b # 只将a下的文件放到b中
#-f: 覆盖已经存在的目标文件而不给出提示
#-i: 给出提示再操作
#-r:递归操作目录
vi vim nano 操作
vi filename
打开或新建文件
vim 需要安装在 centOS 上 ; Ubuntu上也可以用nano
按ESC键跳到命令模式,然后:
:w 保存文件但不退出vi.
:w file 将修改另外保存到file中,不退出vi.
:w! 强制保存,不推出vi.
:wq 保存文件并退出vi.
:wq! 强制保存文件,并退出vi.
:q 不保存文件,退出vi.
:q! 不保存文件,强制退出vi
a //在当前光标位置的右边添加文本
i //在当前光标位置的左边添加文本
A //在当前行的末尾位置添加文本
I //在当前行的开始处添加文本(非空字符的行首)
O //在当前行的上面新建一行
o //在当前行的下面新建一行
系统操作
reboot #普通重启
shutdown -r now #立刻重启(root用户使用)
su #只是切换了root身份
su - #最大的区别:连用户和Shell环境一起切换成root身份了
#sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。另一个区别是其默认行为,sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。
exit #退出
su warren # 切换到其它用户
systemctl enable nginx #添加开机启动
disable #关闭开机启动
start #启动
stop #停止
restart #重启
reload #重载
status #查看状态
查看系统相关信息
uname -a #显示所有系统信息 带有64就是64位)
cat /etc/os-release #查看系统版本
cat /etc/redhat-release #查看系统
cat /etc/centos-release #查看 centos
free -m #以M为单位显示内存状态 free -m -s 3 每3秒输出一次 推荐用 -h 表示一个合适的单位显示,如果值太小会默认以 -b 显示 设置其它参数无效
#返回信息
#free 真正尚未被使用的物理内存
#buff/cache buffer(缓存) 和 cache(缓冲) 使用的物理内存
#available 应用程序认为可用内存,大致等于 free + buffer + cache
#swap 系统物理内存不足时,Linux 会将内存中不常访问的数据保存到 swap 上,系统就有更多的物理内存为各个进程服务,当系统需要访问 swap 上存储的内容时,再将 swap 上的数据加载到内存中,这就是换出和换入。交换空间可以在一定程度上缓解内存不足的情况,但是它需要读写磁盘数据,所以性能不是很高
df -h #根据大小适当显示磁盘信息
du -sh #查看当前目录大小
应用 进程
top -cin 5 #显示当前进程状态,类似windows的任务管理器 c表示显示具体应用地址和名称 i表示不显示任何闲置或无用进程 n表示刷新几次
ps -ef | grep xxx #查看xxx进程
#-e 显示所有进程信息 -f 格式化的信息列表
# ps aux|grep nginx 查看ng 进程
grep #命令用于查找文件里符合条件的字符串
#| 表示管道,上一条命令的输出,作为下一条命令参数
网络操作
ifconfig #查看 ip 地址 Ubuntu会提示先安装一个包 安装即可
netstat -tulpn #查看开启的端口号
netstat -tunlp | grep 端口号 #显示 tcp,udp 的端口和进程等相关情况
lsof -i:3000 #查看3000端口的进程
kill pid #杀死进程
kill -9 pid #表示强制杀死该进程
防火墙
firewall-cmd --query-port=3000/tcp #查看防火墙端口是否开放
firewall-cmd --zone=public --add-port=3000/tcp --permanent #打开某个端口
firewall-cmd --zone=public --remove-port=3000/tcp --permanent #关闭某个端口
firewall-cmd --zone=public --list-ports #查看开放的端口列表
systemctl restart firewalld #重启防火墙 打开关闭端口后都要重启
systemctl stop firewalld #关闭防火墙
systemctl start firewalld #打开防火墙
# Ubuntu 防火墙操作
sudo ufw status #查看状态 inactive 关闭 active 开启
sudo ufw enable disable reload #开启 关闭 重启
# Ubuntu 端口操作
sudo ufw allow 5050
sudo ufw delete allow 5050 #关闭