在学习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最后默认的换行符,同时忽略\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]#
[root@node1 test]# ll
total
-rw-r--r--.  root root  Mar   :
[root@node1 test]#
[root@node1 test]# ll
total
-rw-r--r--.  root root  Mar   :
-rw-r--r--.  root root  Mar   :
[root@node1 test]#  3    -->>创建硬链接。注意, 硬链接和原文件是无法区分的. 所以3是1的硬链接,也可以看作1是3的硬链接
[root@node1 test]# ll  -->> 第二列指的是指向该文件的硬链接数,该数字大于或等于2,说明该文件是硬链接文件
total
-rw-r--r--.  root root  Mar   :
-rw-r--r--.  root root  Mar   :
-rw-r--r--.  root root  Mar   :
[root@node1 test]#
[root@node1 test]# ll -i  -->> 查看文件的inode number
total
 -rw-r--r--.  root root  Mar   :
 -rw-r--r--.  root root  Mar   :
 -rw-r--r--.  root root  Mar   :
 -rw-r--r--.  root root  Mar   :
[root@node1 test]# find -inum 174442  -->> 通过inode number查找所有硬链接某个文件的所有文件
./
./
./

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

58. 163 yum源

其中,6.6指的是6.6版本的yum源,也可以使用其它版本

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base - .com
baseurl=http://mirrors.163.com/centos/6.6/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#released updates
[updates]
name=CentOS-$releasever - Updates - .com
baseurl=http://mirrors.163.com/centos/6.6/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - .com
baseurl=http://mirrors.163.com/centos/6.6/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - .com
baseurl=http://mirrors.163.com/centos/6.6/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=
enabled=
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - .com
baseurl=http://mirrors.163.com/centos/6.6/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=
enabled=
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

59. 只显示文件名,目录名

只显示文件名:basename

只显示目录名:dirname

60. yum install lrzsz 

其中rz可用于将远程的文件传输到本地

sz可将本地的文件传输到远程

61. ss -lnpt |grep mysqld

该命令也可查看端口号

62. 如何查看指定文件的总大小

ll txn_proc_result#*  |awk 'BEGIN {sum=0;}{sum=sum +$5;}END{print "The size is ",sum/1024/1024,"M"}'

63. CentOS下安装semanage

yum -y install policycoreutils-python

64. 通过inode删除文件

rm `find . -inum 377332`

65. CentOS 7如何关闭防火墙

临时关闭:systemctl stop firewalld

永久关闭:systemctl disable firewalld

66. AWK如何将各行的字符拼凑成一行,并以逗号隔开

awk 'BEGIN{name="";}{name=name""$1""","}END{print name}' host.txt

生成的结果如下:

a,b,c,

67. linux下批量替换文件内容

替换/home下所有文件中的www.admin99.net为admin99.net

    sed -i "s/www.admin99.net/admin99.net/g" `grep www.admin99.net -rl /home

68. 关于too many openfiles

    一般too many openfiles和三个东西有关
   1. limit.conf 里面是可以设置某个用户最大进程数、最大文件数。
   2. /proc/sys/fs/file-max  系统所有进程一共可以打开的文件数
   3.应用进程本身的连接数相关设置 
69. 如何查找包
     yum whatprovides "*/scp"
70. 如何修改网卡的名称
     # vim /etc/udev/rules.d/70-persistent-net.rules
     # vim /etc/sysconfig/network-scripts/ifcfg-eth0
     注意:HWADDR必须保持一致
     # service network stop && start_udev && service  network start
71. 如何获取单个进程的CPU和内存使用率
     ps -C mysqld -o %cpu,%mem
72. sed批量替换
     sed -i 's/province_info/province/g' 1.txt

73. 时间戳和date互转

# date -d "@1476244919"

# date -d "2010-07-20 10:25:30" +%s

74. 启动docker mysql容器

# docker run -it -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.34

其中,3307是宿主机端口,3306是容器端口

75. 如何将根目录从只读模式修改为可读可写模式

# mount -o remount, rw /

76. 通过PS1自定义linux命令行格式

get_ps1()
{
   Date=$(date +%F)
   Time=$(date +%H:%M:%S)
   PS1="\n\e[1;37m[\e[m\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h $Date $Time \e[m \e[4m\`pwd\`\e[m\e[1;37m]\e[m\e[1;36m\e[m\n\\$ "
}
PROMPT_COMMAND=get_ps1

77. 通过grep递归搜索关键词并排除某些目录

# grep -r "innodb_flush_log_at_trx_commit" --exclude-dir=mysql-test *

78. 如何查看Linux软中断信息

# mpstat 2 5

Linux碎碎念的更多相关文章

  1. 一些关于Linux入侵应急响应的碎碎念

    近半年做了很多应急响应项目,针对黑客入侵.但疲于没有时间来总结一些常用的东西,寄希望用这篇博文分享一些安全工程师在处理应急响应时常见的套路,因为方面众多可能有些杂碎. 个人认为入侵响应的核心无外乎四个 ...

  2. 一个谷粉和3年的Google Reader重度使用者的碎碎念

    2013-03-14 上午看到Andy Rubin辞去Android业务主管职务.由Chrome及应用高级副总裁继任的新闻,还在想这会给Android带来什么,中午刷微博的时候就挨了当头一棒:Goog ...

  3. Jerry的碎碎念:SAPUI5, Angular, React和Vue

    去年我去一个国内客户现场时,曾经和他们IT部门的一位架构师聊到关于在SAP平台上进行UI应用的二次开发时,UI框架是选用UI5还是Vue这个话题. 我们代表SAP, 向客户推荐使用UI5是基于以下六点 ...

  4. 结对编程ending-我和洧洧的碎碎念

    应该是第一次和队友分工合作去完成一个项目,其中也经历了跳进不少坑又被拉回来的过程,总体来说这对于我俩也的确是值得纪念的一次经历. 我的碎碎念时间…… 对比个人项目和结对编程项目二者需求,前者重在面对不 ...

  5. C语言 &#183; 分分钟的碎碎念

    算法提高 分分钟的碎碎念   时间限制:1.0s   内存限制:256.0MB      问题描述 以前有个孩子,他分分钟都在碎碎念.不过,他的念头之间是有因果关系的.他会在本子里记录每一个念头,并用 ...

  6. MySQL碎碎念

    1. 如何修改Mysql的用户密码 mysql> update mysql.user set password=password('hello') where user='root'; mysq ...

  7. Python碎碎念

    1. 如何添加路径 主要有以下两种方式: 1> 临时的 import sys sys.path.append('C:\Users\Victor\Desktop') 2> 永久的 在Linu ...

  8. Oracle碎碎念~2

    1. 如何查看表的列名及类型 SQL> select column_name,data_type,data_length from all_tab_columns where owner='SC ...

  9. Oracle碎碎念~1

    1. 设置SQL*Plus提示符 SQL> set sqlprompt "_user'@'_connect_identifier>" SYS@orcl> 为了对所 ...

随机推荐

  1. linux下命令行操作快捷键及技巧

      历史相关命令 !!:执行上一条命令 !num:执行历史命令中第num条命令 !-num:执行历史命令中倒数第num条命令 !?string?:执行最近一条包含有string字符串的命令 Ctrl+ ...

  2. 无阻塞加载js,防止因js加载不了影响页面显示

    浏览器加载静态资源和js的方式都是线性加载,所以一般情况可以将js放到</body>前,防止UI线程的阻塞. 而某些时候我们既希望js在整个网页的头部就加载,又担心js阻塞导致网站加载缓慢 ...

  3. Linux学习之路&mdash;磁盘分区

    1.各硬件设备在Linux中的文件名 在Linux系统中,每个设备都被当做一个文件来对待,同时在Linux系统中,几乎所有的硬件设备文件都在/dev这个目录中. 设备 设备在Linux内的文件名 ID ...

  4. JS-offsetParent定位父节点

    offsetParent:离当前元素最激动呢一个有定位的父节点 如果没有定位父级,默认是body IE7以下如果当前元素没有定位默认是body,如果有定位就是html IE7以下,如果当前元素的某个父 ...

  5. Let’s encrypt 计划为网站提供免费的基本 SSL 证书,以加速互联网从 HTTP 向 HTTPS 过渡。

    Let’s encrypt 计划为网站提供免费的基本 SSL 证书,以加速互联网从 HTTP 向 HTTPS 过渡. 该项目由Mozilla.Cisco.Akamai.IdenTrust.EFF 和密 ...

  6. POJ 2785

    4 Values whose Sum is 0 Time Limit: 15000MS   Memory Limit: 228000K Total Submissions: 14475   Accep ...

  7. post请求测试

    也可以用下图来指定测试参数

  8. ( 转 ) WebApiTestClient 的使用

    注意点:需要修改api路由规则,加上action: "api/{controller}/{action}/{id}" 1.如何引入组件 首先,我们需要定义一个API项目 然后通过N ...

  9. 如何为Windows XP / Windows7-32bit / Windows7-64bit安装capicom.dll

    原文: http://164.100.181.16/ssdgsap/RegisterDLL.htm 1.根据操作系统的要求下载相应的文件夹安装capicom.dll for Windows XP的步骤 ...

  10. Windows使用SSH Secure Shell实现免密码登录CentOS

    笔记来自:http://blog.csdn.net/jiangshouzhuang/article/details/50683049 1.在Windows上生成密钥找到Secure Shell Cli ...