说起Linux操作,首先想到的肯定是命令行。一方面是命令行的简洁高效,另一方面令小白捉鸡的是即使要新建或删除一个文件都会不知道从哪下手。岩兔站目前也是小白水平,所以经常做的是就是打开搜索引擎去搜索"linux 新建文件夹"或"Linux 添加自启动"等等……搜了无数回之后发现,如果不经常操作Linux的话,搜得的结果也经常忘记。
于是决定今天整理一下Linux的最常见操作命令,完成从小白到新手的转变。
文件&文件夹操作
联想一下windows上常见的文件或文件夹操作,点点鼠标都能完成的事情,在Linux上都需要用命令行进行完成。
转移到/home目录
cd /home
列出文件和文件夹
ls
#查看所有文件详细信息
ls -all
新建test文件夹
mkdir test
新建/修改文件,如果希望有代码着色,可将vi替换为vim
vi test.txt
#按Insert键插入内容,按Esc键退出编辑
#保存文件,退出编辑并输入
:w
#关闭文件,退出编辑并输入
:q
#保存并退出可使用
:wq
#如果不保存强制退出
:q!
设置权限
#设置test.sh权限为755
chmod 755 test.sh
剪切、重命名
mv test.txt test2.txt
复制
cp test.txt test2.txt
#如果复制文件夹需
cp -r test test2
#如果test2存在,需复制
cp -r test/. test2
#如果test2中存在重名文件,需先删除再复制,否则会提示
删除
rm test
#如果文件夹非空,或有嵌套,可增加/r参数如
rm /r test
#如果不想依次确认,可增加/f参数。
***执行之前一定要再次确认目录***
rm /rf test
安装软件
在Linux上安装软件比Windows还要简单,只要知道了软件名称就能一行命令安装,而且也不用担心捆绑垃圾软件。
安装vim编辑器
#如果是ubuntu,debian内核只要将yum替换为apt-get即可
#更新软件源
yum update
#安装vim
yum install vim
#不用询问直接安装
yum install vim -y
等待安装完成即可。
下载文件
wget下载http链接
wget https://yantuz.cn/wp-content/uploads/2018/03/logourl.png
#另存为
wget -O logo.png https://yantuz.cn/wp-content/uploads/2018/03/logourl.png
#使用断点续传
wget -c https://yantuz.cn/test.bin
#后台下载
wget -b https://yantuz.cn/test.bin
git下载github项目
git clone git@github.com:yhf7952/mmPic.git
压缩文件
Linux常用的压缩包格式有tar和zip
tar压缩
#仅打包不压缩
tar -cvf log.tar log.log
#以gzip形式压缩
tar -zcvf log.tar.gz log.log
#解压
tar -xvf log.tar
tar -zxvf log.tar.gz
zip压缩
#将test文件压缩为test.zip
zip -r test.zip ./test
#解压
unzip test.zip
ssh远程服务器
从一台Linux服务器连接到另一台服务器就需要用到ssh命令。windows服务器连接服务器也是遵从的ssh协议。
ssh连接服务器
ssh root@1.2.3.4
password:
scp拷贝文件
通过scp命令可以将本地文件与远程服务器互相复制。
#将web.zip上传至服务器wwwroot目录
scp web.zip root@1.2.3.4:/home/wwwroot
后台运行
在执行一些耗时长的脚本时,如果ssh连接中断会影响脚本执行,为防止这种情况特别提供了后台运行功能,即使ssh中断,进程不受影响。
#创建或连接进程test
screen -R test
防火墙
防火墙由于发行版本不同,一般分为两大类,iptables和firewalld
iptables
#查看防火墙状态
chkconfig iptables --list
#开启、关闭,重启后失效
service iptables start
service iptables stop
#开启、关闭,重启仍然有效:
chkconfig iptables on
chkconfig iptables off
#开启端口
iptables -I INPUT -p tcp --dport 80
-j ACCEPT
firewalld常见于CentOS7
#查看状态
systemctl status firewalld.service
firewall-cmd --state
#查看开放的服务和端口
firewall-cmd --list-services
firewall-cmd --zone=public
--list-ports
#更新规则
firewall-cmd --reload
#添加http服务 --permanent 表示永久生效
firewall-cmd --add-service=http --permanent
#添加80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#服务控制
systemctl [start|stop|enable|disable] firewalld.service
开机启动
编辑/etc/rc.local,添加需要执行的脚本
vim /etc/rc.local
定时计划
为完成Linux自动化运行,必不可少的就是定时计划,如下,每天23:40执行自动备份脚本
vim /etc/crontab
#编辑内容
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
40
23
*
*
* root /bin/bash /data/backup.sh
crontab服务控制
sudo service crond [start|stop|restart|reload|status]
一键安装包
小白与大佬的差距只有一个一键安装包,即使学不会高深的Linux命令,会用大佬的一键包就足够装逼了!
#一键包示例
wget https://yantuz.cn/test.sh && chmod +x test.sh && base test.sh
直接回车运行,等待完成使用即可。