您的位置:首页 > 运维架构 > Linux

[置顶]Linux碎碎念

2016-03-10 15:19 369 查看
在学习Linux过程中,有许多有用的小技巧。如果放在纸质的笔记本上,平时查阅会相当不方便。现在以一种“碎碎念”的方式,汇集整理在此,目前还不是很多,但随着学习、工作的深入,后续会陆陆续续添加更多的小技巧。
1. 配置ssh的等效性

    ssh-copy-id -i /root/.ssh/id_rsa.pub oracle@10.1.1.88  

    这样id_rsa.pub可以直接添加到/home/oracle下的.ssh/authorized_keys

    也可直接为ssh-copy-id oracle@10.1.1.88,会默认copy当前目录下的id_rsa.pub文件

2. 查看脚本的执行过程

     sh -x ping.sh

3. 禁止远端ssh到本地的root用户

     vim /etc/ssh/sshd_config

     #PermitRootLogin yes  改为PermitRootLogin no

4. 安全设置

     vim /etc/profile

      TMOUT=10    -->>10s 没有输入,则自动注销

      HISTFILESIZE=0  -->>不显示以前登录的history操作

5. 命令行修改密码

     echo 123 | passwd --stdin aaa

6. 时间同步

     ntpdate 0.rhel.pool.ntp.org

7. 调用图形计算器

     gnome-calculator

8. 查看Linux系统版本

     cat /etc/redhat-release

9. 修改ssh的默认端口

      vim /etc/ssh/sshd_config

      port 21785

10. 私有IP网段

      Class A: 10.0.0.0~10.255.255.255

      Class B: 172.16.0.0~172.31.255.255

      Class C:192.168.0.0~192.168.255.255

11. basename 

      去除目录和后缀,只显示文件名

      语法:basename NAME [SUFFIX]

      举例:

             basename /usr/bin/sort
             Output "sort".

             basename include/stdio.h .h
             Output "stdio".

12. 如何修改网卡的名字

     1> vim /etc/udev/rules.d/70-persistent-net.rules

     2> start_udev

13. yum

     在用yum卸载软件时,有时会报以下错误:

     Error: Cannot retrieve repository metadata (repomd.xml) for repository: InstallMedia. Please verify its path and try again
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest

     解决方法:

     rm -rf /etc/yum.repos.d/packagekit-media.repo即可

14. 查看当前目录文件大小

      du -sm *   

      如果需要排序,可用如下命令:du -sm * | sort -r -n  -->>从大到小排序

15. shell中如何将文件文件中每一行提取出来

      cat 123.txt | while read line
      do
      echo "$line"
      done

      如果循环语句内部有赋值,则该值并不能传递给当前脚本的变量,因为这里用了管道。倘若需要传递给外部变量,则需用如下方式:

      while read line
      do
      echo "$line"
      done < 123.txt

16. vim全部替换命令

     全局替换命令为::%s/源字符串/目的字符串/g

     其中:% 表示整个文件,同“1,$”;s 表示替换操作;g 表示全局替换;

     源字符串和目的字符串中不能包含分隔符,否则,会产生歧义。在这种情况下,可用反斜杠'\'进行转义。

     如果这两个字符串中的斜杠非常多,比如"file:///usr/share/man/man1/vim.1.gz",那么对每个斜杠进行转义就显得很麻烦。为此人们想到了一个解决办法,就是可以

     使用其他字符作为分隔符(总是将作为替换命令代表的's'后的第一个字符作为分隔符)。例如使用'+'做分隔符时,上述命令就可以写成:%s+源字符串+目的字符串+g

17. 如何打开tar文件

      1> 下载软件 http://www.rarlab.com/rar/rarlinux-3.9.0.tar.gz

      2> 解压缩   tar xvf rarlinux-3.9.0.tar.gz

      3> 切换到文件夹 cd rar

      4> 编译 make

      rar x human_resources.rar   x指的是Extract files with full path

      以上命令需在root账户下执行。

18. 如何将文件打包成rar格式的压缩文件

      rar a ulcase.rar archive ulcase/*

      a代表Add files to archive

      ulcase.rar是压缩后的文件名

      archive代表打包

      ulcase/*是希望打包的文件

19. 如何查找命令所属的文件名

     [oracle@node3 ~]$ rpm -qf `which vim`
     vim-enhanced-7.2.411-1.8.el6.i686

20. grep多个字符匹配

      grep -E "word1|word2|word3"   file.txt

22. awk指定多个分隔符

      grep  -E "create table|primary key \(" provision.sql |awk -F '[. ]' '{print $NF}' 

      df -h |awk -F'[ %]*' '{if($6=="/home")print $5}'   -->>查看/home目录的磁盘使用率(注意,-F'[ %]*' 要带上)

23. 截取IP地址     

      ifconfig |awk -F'[: ]+' 'NR==2{print $4}'
      192.168.2.13

24. shell 字符串处理汇总

      http://blog.chinaunix.net/uid-124706-id-3475936.html

25. sed删除1-3行,空格行,最后一行

      sed -i '/^$/d;1,3d;$d' file1

26. sed和awk显示最后一行

      sed -n '$p'

      awk 'END{print}'

27. Xshell注册码

      Xshell4.0  690313-111999-999313

      Xmanager4.0 101210-450789-147200

28. 如何修改用户的属组

      usermod -g oinstall -G dba,asmdba,oper oracle

29. 图形配置服务开机命令

      ntsysv

30. vim搜索关键词高亮显示

     :set hls

31. rarlinux下载地址

     http://www.rarsoft.com/download.htm

     解压命令:

     rar e shell.rar    -- e代表Extract files without archived paths

     rar x shell.rar    -- x代表Extract files with full path

32. echo

     \b:退格

     \c:忽略echo最后默认的换行符
4000
,同时忽略\c后的字符

[root@node1 ~]# echo -e "hello\bworld"
hellworld
[root@node1 ~]# echo -e "hello\cworld"
hello[root@node1 ~]# echo "hello\bworld"
hello\bworld


      注意:echo后面要带上-e选项,表示enable interpretation of backslash escapes,默认是不支持转义符。

33.  如何利用ll命令按照文件大小排序

      ll -Sh  其中-S sort  by file size     -h, --human-readable  with -l, print sizes in human readable format (e.g., 1K 234M 2G)

      这是按照从大到小排序

      如果要从小到大排序,加个-r,即ll -Shr

34. 如何查看文件是否是硬链接

[root@node1 test]# touch 1
[root@node1 test]# ll
total 0
-rw-r--r--. 1 root root 0 Mar  5 22:26 1
[root@node1 test]# touch 2
[root@node1 test]# ll
total 0
-rw-r--r--. 1 root root 0 Mar  5 22:26 1
-rw-r--r--. 1 root root 0 Mar  5 22:26 2
[root@node1 test]# ln 1 3    -->>创建硬链接。注意, 硬链接和原文件是无法区分的. 所以3是1的硬链接,也可以看作1是3的硬链接
[root@node1 test]# ll  -->> 第二列指的是指向该文件的硬链接数,该数字大于或等于2,说明该文件是硬链接文件
total 0
-rw-r--r--. 2 root root 0 Mar  5 22:26 1
-rw-r--r--. 1 root root 0 Mar  5 22:26 2
-rw-r--r--. 2 root root 0 Mar  5 22:26 3
[root@node1 test]# ln 3 4
[root@node1 test]# ll -i  -->> 查看文件的inode number
total 0
174442 -rw-r--r--. 3 root root 0 Mar  5 22:26 1
174445 -rw-r--r--. 1 root root 0 Mar  5 22:26 2
174442 -rw-r--r--. 3 root root 0 Mar  5 22:26 3
174442 -rw-r--r--. 3 root root 0 Mar  5 22:26 4
[root@node1 test]# find -inum 174442  -->> 通过inode number查找所有硬链接某个文件的所有文件
./1
./3
./4


35. 显示时间

     date +%Y%m%d

36. 如何退出startx

     Ctrl+Alt+Backspace

37. IPC

     Inter-Process Communication,进程间通信

     ipcs是查看进程间通信的信息,ipcs -m是查看的是shared memory segments的信息

38. 如何查看Linux的block size

      tune2fs -l /dev/sda1 |grep 'Block size'

39. 如何查看RHEL的发行版本

     cat /etc/redhat-release 

40. Xshell下如何迁移连接信息

      在XShel中,每个保存的Session连接信息都是保存到.xsh(就是ini文件,可以用文本编辑器打开)文件中的。它的默认路径是

      "%APPDATA%\NetSarang\Xshell\Sessions"

      即:C:\Users\用户名\AppData\Roaming\NetSarang\Xshell\Sessions

      可直接拷贝这些xsh文件到新的xshell的相同目录即可使用。

41. VMware如何进入BIOS

      1> 首先关闭Vmware中的系统,打开虚拟机配置文件(.vmx文件),该文件位于所安装的虚拟机目录(不是虚拟机软件目录),在最前面中加入一行                               bios.forceSetupOnce = "TRUE",开机就自动进入BIOS!不过VMware启动后,会将该参数由TRUE变为FALSE,如果您还要继续使用BIOS,就再手动改成TRUE            即可

      2> 延长启动画面时间。在最前面加入:bios.bootDelay = "5000";5000为5秒。

42. 如何关闭SELinux

     查看:sestatus

     临时关闭:setenforce 0

     永久关闭: 修改/etc/sysconfig/selinux文件 

43. 如何用wath命令监控结果的输出

     watch -n 10 -d 'ls -l boss28 |wc -l'

     查看boss28目录下的生成的文件数

     其中-n 10指的是以10s为时间间隔进行结果输出,-d后面接的是命令,因为用了管道,故用单引号引起来

44. 如何删除环境变量

      unset 变量名

45. 如何删除除特定文件外的其它文件

     ls | grep -v .xml | xargs rm -rf

     该条语句即是删除当前目录下除xml文件外的其它文件

46. Minimal安装后,ifconfig命令未安装,那么如何查看ip地址呢?

     ip addr 

47.  yumdownloader

     用法:yumdownloader 包名

     注意:yumdownloader本身是yum-utils包安装的。

[root@node3 ~]# rpm -qf `which yumdownloader`
yum-utils-1.1.30-14.el6.noarch


48. 如何使用指定的yum源

     yum --disablerepo=\* --enablerepo=BASE list

49. RHEL7中如何修改主机名

      # vim /etc/hostname 

50. Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system

      在linux的终端输入:firefox -profilemanager

      回车后会出现一个小窗口让你选择使用哪个 profile 来启动 firefox。首先将当前出错的Profile删除掉,然后新建个即可。

51. 关于iptables,可参考

      http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html

      http://www.cnblogs.com/kreo/p/4368811.html

52. CentOS右键没有“打开终端”选项

      yum -y install nautilus-open-terminal

      重启服务器

53. VIM如何搜索上一个匹配

      ?pattern 向上搜索 #继续搜索上一个

54. 递归的查找内容

      grep -r "LASTHOSTPROBLEMID" /usr/local/icinga/  

      查找/usr/local/icinga/目录下含有LASTHOSTPROBLEMID的文件,如果只是输出文件名,则另需加-l参数。

      grep -lr "LASTHOSTPROBLEMID" /usr/local/icinga/

55. RHEL7下如何关闭防火墙

      service firewalld stop

      systemctl disable firewalld

56. vim删除多行

     :1,10d

57. 如何加载库

     ldconfig 

     

 

 

      

     

      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: