Linux学习记录

阅读更多

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  复制第四行到光标所在行

目录的操作命令(增删改查)

  1. mkdir 目录名称 增加目录

  2. ls或者ll(ll是ls -l的别名,ll命令可以看到该目录下的所有目录和文件的详细信息):查看目录信息

  3. 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"
  4. mv 目录名称 新目录名称 修改目录的名称(改)

    注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作。mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。后面会介绍到mv命令的另一个用法。

  5. mv 目录名称 目录的新位置 移动目录的位置---剪切(改)

    注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作。另外mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。

  6. cp -r 目录名称 目录拷贝的目标位置 拷贝目录(改),-r代表递归拷贝

    注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归

  7. 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

Linux学习记录_第1张图片

上述示例还可以使用数字表示:

chmod 764 aaa.txt

补充一个比较常用的东西:

   假如我们装了一个zookeeper,我们每次开机到要求其自动启动该怎么办?

  1. 新建一个脚本zookeeper
  2. 为新建的脚本zookeeper添加可执行权限,命令是:chmod +x zookeeper
  3. 把zookeeper这个脚本添加到开机启动项里面,命令是: chkconfig --add zookeeper
  4. 如果想看看是否添加成功,命令是: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

关闭防火墙 & Selinux
service iptables stop 关闭防火墙
chkconfig iptables off (禁用防火墙,防止开机自启)

Linux学习记录_第2张图片

完成这一步之后,我ping主机IP能ping通了,但是主机却不能ping通虚拟机!!!,后面各种网上找原因,看到一个方案:主机的vmnet8的配置也要改动(按着虚拟机的改,但是ip不能相同),改完之后在主机上再次ping虚拟机--成功!至此终于主机能和虚拟机互相ping通了!

Linux学习记录_第3张图片

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

你可能感兴趣的:(Linux学习记录)