[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   #关闭
Last Updated:
Contributors: Warren