linux基础(快捷键、命令行、vim 等)
一、基础概念、装机和用户
- 系统信息
[root@iZ28isja9lmZ ~]:# - root是当前登录用户,iZ28isja9lmZ是当前主机名,~表示当前在家目录,#是超级用户的提示,普通用户的应该是$。 uname -a //查看当前内核,如x86_64 cat /etc/redhat-release //查看系统版本号,如centOS7.3.1611
- 清除登陆系统成功的记录:
echo > /var/log/wtmp //此文件默认打开时乱码,可查到ip等信息 last //此时即查不到用户登录信息
- 清除历史执行命令:
history -c //清空历史执行命令 echo > ./.bash_history //或清空用户目录下的这个文件即可
- 系统快捷键
ctrl+a //跳到行首 ctrl+e //跳到行末 ctrl+c //强制终止 ctrl+U //从光标所在位置删除到行首
- web环境重启:
service nginx reload //重启nginx service httpd restart //重启apache service mysqld restart //重启mysql service ssh restart //ssh重启
防火墙操作:
(1) 重启后永久性生效: chkconfig iptables on //开启 chkconfig iptables off //关闭
(2) 即时生效,重启后失效: service iptables start //开启 service iptables stop //关闭
shutdown命令:(-r是重启,-h是关机,-c是取消前一条shutdown命令)
reboot //重启,这种直接杀死所有进程的 shutdown -r now //立即重启 shutdown -r 05:30 & //05:30重启,&表示设置为后台进程 shutdown -h now //立即关机 shutdown -h 05:30 //05:30关机 shut -c //取消已经设置的shutdown的命令
//zip文件的压缩和解压缩: zip -r abc.zip abc //压缩abc目录 zip abc.zip abc //压缩abc文件 unzip abc.zip //解压abc.zip文件或目录 //tar.gz的压缩和解压缩: tar -zcvf abc.tar.gz abc //把abc压缩为abc.tar.gz tar -zxvf abc.tar.gz //解压abc.tar.gz //tar.bz2的压缩和解压缩: tar -jcvf abc.tar.bz2 abc //把abc压缩为abc.tar.bz2 tar -jxvf abc.tar.bz2 //解压abc.tar.bz2
- 文件/目录/文件内容的搜索 - locate、find、grep、whereis
locate index.php //搜索所有index.php文件。请注意,locate属于模糊搜索,只要路径含这个关键词都搜索出来 find / -name '*my*' //搜索根目录下,所有含my的文件或目录 find / -name '*my*' -type f //搜索根目录下,所有含my的文件 find / -name '*my*' -type d //搜索根目录下,所有含my的目录 //搜索文件内的内容 grep "start" index.php //在index.php中搜索含start的行的内容 whereis mysqlslap //查找mysqlslap文件的位置
- 显示详情 - ls和du
ls -a //显示所有文件,包括隐藏文件 ls -l //显示详细信息 du -h --max-depth=1 |sort //查看当前目录的一级子目录大小,并排序 du -sh * //查看当前目录的一级子目录大小
- 权限赋予:
chmod -R 777 文件/目录 //赋予权限
//创建文件或目录
mkdir abc abd //创建abc目录和abc目录 mkdir -p /www/blog/index.php //创建连续目录 touch index.php //创建文件index.php
//移动和重命名
mv index.php ../abc.php //移动index.php到上级目录,并重命名为abc.php
//复制拷贝
cp -r japan/ /tmp/ //复制目录japan至tmp之下 cp japan /tmp/ //复制文件japan至tmp之下。
//删除文件/目录
rm -rf //这个命令请慎用。 rm -rf /home/japan //强制删除/home/japan这个目录,哪怕japan里面是有子文件夹的。 rm -rf /home/japan/* //删除的是japan目录里面的内容,japan能变成一个空目录
//删除除了trunk和branch2.0之外的其他文件,需要加第一步,不然会报错
第一步:shopt -s extglob
第二步:rm -rf !(trunk|branch)
//远程文件/目录的复制
scp root@121.42.xxx.xxx:/data/vhosts/xxx.conf /Users/linfeng/Desktop/ //远程文件复制到本地 scp -r root@121.42.xxx.xxx:/data/vhosts /Users/linfeng/Desktop/ //远程目录复制到本地 scp /Users/linfeng/Desktop/phpwind.conf root@121.42.xxx.xxx:/data/vhosts/ //本地文件复制到远程 scp -r /Users/linfeng/Download root@121.42.xxx.xxx:/data/vhost //本地目录复制到远程
//帮助命令
man ls //查看ls命令的用法 ls --help //查看ls命令的用法
//输出重定向:
//标准输出重定向: 命令 > 文件 //以覆盖的方式,把命令的正确输出写到文件中 <-常用 命令 >> 文件 //以追加的方式,把命令的正确输出输出到文件中 <-常用 //错误命令执行 错误命令 > 2文件 //以覆盖的方式,把命令的错误输出输出到文件中 错误命令 2>> 文件 //以追加的方式,把命令的错误输出输出到文件中 //正确和错误命令都执行 命令 &> 文件 //以覆盖的方式,把命令的正确输出和错误输出都写到文件中 命令 &>> 文件 //以追加的方式,把命令的正确输出和错误输出都写到文件中 <-常用 命令>>文件1 2>>文件2 //正确输出的写到文件1,错误的输出写到文件2 <-常用
其他命令:
pwd //查看当前目录路径 ps aux | grep httpd //查看httpd的状态 kill -s 9 3306 //杀死进程 clear //清屏,快捷键:ctrl+l history //查看历史命令
which nginx //查看nginx的安装目录
php -m //查看php都安装了哪些拓展
// 常用的 Linux 权限列表
444 r--r--r--
600 rw-------
644 rw-r--r--
666 rw-rw-rw-
700 rwx------
744 rwxr--r--
755 rwxr-xr-x
777 rwxrwxrwx
444 r--r--r--
600 rw-------
644 rw-r--r--
666 rw-rw-rw-
700 rwx------
744 rwxr--r--
755 rwxr-xr-x
777 rwxrwxrwx
五、vim中的一些操作:
//保存和退出
:wq //保存文件并退出vi :w //保存文件但不退出vi :w file //将修改另外保存到file中,不退出vi :q //不保存文件,退出vi :q! //强制退出
//删除
dd //删除一行,其实是剪切 15dd //删除当前行开始的15行,其实是剪切 :2,8d //删除2-8行,剪切
//撤销操作
u //撤销
//搜索关键词
/a //搜索以a开头的关键词。通过n或者N进行上一个或者下一个
//移动鼠标:
w //向后移动一个单词 <-常用 b //向前移动一个单词 <-常用 3w //向后移动三个单词 3b //向后移动三个单词
gg //移动到文件头
G //移动到文件尾部
33G //跳到33行
//插入行类
o //当前行下另起一行
//拷贝和粘贴
nyy //拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。 p //粘贴
//其他
:noh //消除因搜索导致的关键词高亮
五、网络基础:
mac地址:内网传输地址需要靠物理地址(mac地址)。交换机会记录各大网卡连接的物理地址,所有只认识物理地址。
IP地址:外网链接
//用户上网流程:(内网靠mac地址,公网中靠IP地址)
电脑 - 交换机 - 路由器
不同的网络之间通信,需要使用路由器。
相同的网络之间,使用交换机就可以了。
//查看本地的各种地址(IP地址、mac地址、子网掩码、网卡等):
ifconfig
查看本机启用端口:
netstat -ano //查看所有的端口占用,其中LISTEN指的是在监听状态,ESTABLISHED表示正在连接 netstat -an | grep ESTABLISHED //查看连接状态的端口 netstat -tunpl //查看在监听的状态 netstat -pnt | grep :80 | wc -l //统计当前的并发访问量 netstat -pnt | grep :80 //列出所有的连接
——端口状态表示:
LISTEN:本机开启监听状态
ESTABLISHED:已经处于连接状态
CLOSE_WAIT:对方主动关闭连接或者网络异常
TIME_WAIT:我方主动关闭连接,并收到对方确认后的状态。
UDP是没有状态的,因为UDP不需要监听的。直接给你发。
端口探测:
telnet 121.42.222.222 80 //探测80端口是否开通 traceroute www.163.com //跟踪本机到域名经过的路由
下载和安装:
yum install xxx //安装命令,可以一次性安装依赖包并安装
wget xxxxxx //下载包
—————占位符
——————————————————————//////——欢迎光临,请多指教!可加QQ:349017128进行交流——//////——————————————————————