Linux学习资料
cd命令:
cd ..(或cd../)
: 切换到上一层目录- cd ~ :切换到用户主目录
- cd /:切换到系统目录
- cd -:切换到上一个操作所在目录
vim修改文件:
vim a.txt:进入修改模式
vim +10 a.txt 进入a.txt 并定位至第10行
vim + a.txt 定位至a.txt最后一行
vim +/aa a.txt 进入a.txt并定位至首次出现“aa”的位置
按 i 进入编辑模式,按 ESC : 输入wq保存并退出,wq!不保存退出
vim编辑小技巧:
光标定位:0 行首、shift $ 行尾、w 下个单词词首 、shift g最后一行 、3 shift g 第3行、 g g 文章开头、 翻页ctrl f ,回翻ctrl b ;
复制粘贴删除: 删除行 dd(2dd删除两行) 、剪切+粘贴:dd+p(先删除某行在粘贴)、复制 yy(整行,2yy复制两行)yw(复制一个单词, 2yw复制两个单词)、
撤销:u 、撤销上一步的撤销操作: ctrl r
显示行号:set nu
查找: / aa 查找出现aa的位置,n往下定位,N往上定位
指定范围的查找替换: 1,$s/aa/bb 以行为单位将第一行到最后一行的每行第一个aa替换成bb,
如果要替换每行全部出现aa的位置则要加个 g, 1,$s/aa/bb/g
忽略大小写:i ,1,$s/aa/bb/gi 这样AA,Aa,aA都会替换成bb
范围标示符:n 第n行、 . 光标所在行 、+n向下偏移n行 、$末行 、$-3末行开始其前三行、 %全文
举例:4,.y 复制第四行到光标所在行
目录的操作命令(增删改查)
-
mkdir 目录名称
: 增加目录 -
ls或者ll
(ll是ls -l的别名,ll命令可以看到该目录下的所有目录和文件的详细信息):查看目录信息 -
find 目录 参数
: 寻找目录(查)示例:
- 列出当前目录及子目录下所有文件和文件夹:
find .
- 在
/home
目录下查找以.txt结尾的文件名:find /home -name "*.txt"
- 同上,但忽略大小写:
find /home -iname "*.txt"
- 当前目录及子目录下查找所有以.txt和.pdf结尾的文件:
find . \( -name "*.txt" -o -name "*.pdf" \)
或find . -name "*.txt" -o -name "*.pdf"
- 列出当前目录及子目录下所有文件和文件夹:
-
mv 目录名称 新目录名称
: 修改目录的名称(改)注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作。mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。后面会介绍到mv命令的另一个用法。
-
mv 目录名称 目录的新位置
: 移动目录的位置---剪切(改)注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作。另外mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
-
cp -r 目录名称 目录拷贝的目标位置
: 拷贝目录(改),-r代表递归拷贝注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归
-
rm [-rf] 目录
: 删除目录(删)注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了增强大家的记忆, 无论删除任何目录或文件,都直接使用
rm -rf
目录/文件/压缩包
用户切换:
su:切换到root用户
su 用户名:切换到另一个用户
解压缩文件:
假如test目录下有三个文件分别是:aaa.txt bbb.txt ccc.txt,如果我们要打包test目录并指定压缩后的压缩包名称为test.tar.gz可以使用命令:tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt
或:tar -zcvf test.tar.gz /test/
将test.tar.gz解压到指定目录下可以使用命令:tar -zxvf test.tar.gz -C 指定目录
修改文件/目录的权限的命令:chmod
示例:修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限, 其他用户只有读的权限
chmod u=rwx,g=rw,o=r aaa.txt
上述示例还可以使用数字表示:
chmod 764 aaa.txt
补充一个比较常用的东西:
假如我们装了一个zookeeper,我们每次开机到要求其自动启动该怎么办?
- 新建一个脚本zookeeper
- 为新建的脚本zookeeper添加可执行权限,命令是:
chmod +x zookeeper
- 把zookeeper这个脚本添加到开机启动项里面,命令是:
chkconfig --add zookeeper
- 如果想看看是否添加成功,命令是:
chkconfig --list
其他常用命令:
-
pwd
: 显示当前所在位置 -
grep 要搜索的字符串 要搜索的文件 --color
: 搜索命令,--color代表高亮显示 -
ps -ef
/ps -aux
: 这两个命令都是查看当前系统正在运行进程,两者的区别是展示格式不同。如果想要查看特定的进程可以使用这样的格式:ps aux|grep redis
(查看包括redis字符串的进程),也可使用pgrep redis -a
。注意:如果直接用ps((Process Status))命令,会显示所有进程的状态,通常结合grep命令查看某进程的状态。
-
kill -9 进程的pid
: 杀死进程(-9 表示强制终止。)先用ps查找进程,然后用kill杀掉
配置虚拟机网络实现虚拟机联网以及主机虚拟机互通:
root用户在系统目录(cd /)下进入如下目录:cd /etc/sysconfig/network-scripts/; 找到ifcfg-ens33配置文件并修改ip,子网掩码,网关;这三个可通过 vmware的编辑--虚拟机网络编辑器找到,注意:虚拟机必须是NAT模式;然后再重启network: service network restart; 完成之后ping www.baidu.com,ok!如果不能成功可试着关闭防火墙,如果不能重启network则按如下操作:
systemctl stop NetworkManager
systemctl disable NetworkManager
service network restart
完成这一步之后,我ping主机IP能ping通了,但是主机却不能ping通虚拟机!!!,后面各种网上找原因,看到一个方案:主机的vmnet8的配置也要改动(按着虚拟机的改,但是ip不能相同),改完之后在主机上再次ping虚拟机--成功!至此终于主机能和虚拟机互相ping通了!
clone虚拟机:
1.首先还是root用户在系统目录(cd /)下进入如下目录:cd /etc/sysconfig/network-scripts/; 找到ifcfg-ens33;
如果里面有HWADDR属性需要将其注释掉#或者删掉,因为clone的虚拟机不能和原虚拟机HWADDR相同;
2.关闭并禁用防火墙,
3.关闭selinux(关于安全方面的东西):主目录下:vim /etc/selinux/config,将SELINUX属性改为disabled;
4.删除文件70-persistent-net.rules(这个文件绑定了硬件地址,和上面的网络配置ens33,如果不删除克隆出来的机器沿用旧的配置,从而不能使用,生产机千万不要做这一步!!!) rm -f /etc/udev/rules.d/70-persistent-net.rules,删除之后poweroff关机
5.拍摄快照,选中这个快照并点击克隆,设置新名称即可,新克隆出来的的机器root账户和原来是一样的;
转载于:https://my.oschina.net/u/3734816/blog/3028478