Linux_几个常用的命令

一、基本命令

    查看当前路径:pwd

    切换文件夹:cd

    查看当前用户: who/whoami

    取文件前3行:head -3 文件

    取文件尾3行:tail -3 文件 

    切换用户: su - [用户名]

    查看目录大小:du -ah/-sh 目录 #-s 目录中空间总量 -a 所有文件及目录(分别) -h(M单位) -k(k单位)

    修改hostname(主机名):

       临时修改:hostname 主机名称

       永久修改: vi /etc/sysconfig/network 

    添加/修改DNS:

       全局:vi /etc/resolv.conf 添加nameserver=8.8.8.8

       部分:vi /etc/sysconfig/network-scripts/ifcfg-eth0 添加DNS1=8.8.8.8

    查看可执行文件位置:which 可执行文件 #which pwd

    查看文件位置及包名:whereis 命令  

whereis [-bmsu] passwd
-b 只找二进制文件 
-m 只找说明文件manual路径下的文件
-h 只找source源文件 
-u 没有说明文档的文件

    立即重启 shutdown -r now

    日期 date:

date -s "2016-09-08 12:12:30"  # 设置当前时间(临时)
clock -w                # 写入CMOS新盘(永久)
clock -r               # 查看硬件时间
date -d "7 day ago" "+%Y%m%d %I%M%S"  # 显示7天以前的时间  -d 显示指定时间

    查找:find [搜索范围] [匹配条件] 

find [搜索范围] [匹配条件] 
搜索范围:
  -name   # 按文件名
  -size   # 按文件大小
  -perm   # 按文件权限
  -user   # 按文件归属
  -group  # 按文件归组
  -type   # 按文件类型(b(块设备)/d(目录)/c(字符设备)/p(管道)/l(符号链接)/f(普通文件))
匹配条件:
  -not  # 不匹配
  -a    # and
  -o    # or
[root@hadoop09-linux tmp]# find /etc -name init -a -type f -a -size +3 #-size 单位默认1=521kb,即2=1k,1M=2048,+代表>,同理-代表<
/etc/kdump-adv-conf/kdump_initscripts/init

    统计:   wc [选项] 文件/命令

wc [选项] 文件/命令
  选项: 
    -l 行数
    -c 字节数
    -m 字符数
    -L 最长一行的长度
    -w 字数

     截取文件对应列:awk '条件1{动作1} 条件2{动作2}' 文件名 (若有-F:指定分隔符) 

[root@hadoop09-linux tmp]# awk '{print $1 "	" $3"new" }' test.txt 
id	sexnew
1	12new
2	14new
3	13new
4	16new
5	14new
[root@hadoop09-linux tmp]# awk '{print $1 -F "---" $3"new" }' test.txt 
id---sexnew
1---12new
2---14new
3---13new
4---16new
5---14new

     文件处理工具:sed '...' [文件名]

sed '[1,$]a 字符串'             第n行增加字符串 PS:其中[]表示1到n中任意数字
sed '[1,$]d'                   删除第n行
sed '[1,$]c 字符串'             行级替换,即第n行到m行替换成字符串
sed '[1,s]s/字符串1/字符串2/g'   字符串替换
sed -n '/root/p'             打印带有root字符串的行 -n指定显示行
sed '/root/d'               删除带有root字符穿的行,并打印其他行
[root@hadoop09-linux tmp]# ifconfig eth0 | grep "inet addr" | sed "s/^.*addr://" | sed "s/Bcast.*$//"   # sed语法 sed 's/要替换的字符串/新字符串/g' g:全部替换
192.168.0.108  

    sed 多点编辑:-e

[root@hadoop09-linux tmp]# nl /etc/passwd | sed -e "3,50d" -e "s/bash/blueshell/g"
     1	root:x:0:0:root:/root:/bin/blueshell
     2	bin:x:1:1:bin:/bin:/sbin/nologin

    sed 直接修改文件 -i

[root@hadoop09-linux tmp]# sed -i "4a new string" test.txt
[root@hadoop09-linux tmp]# cat test.txt 
id	name	sex	score
1	wang	12	67
2	li	14	76
3	zhang	13	70
new string
4	zhao	16	80
5	ma	14	78

    查看系统进程:ps [选项] 

ps [选项] 
选项:
  -A/-e 列出所有进程
  -a 列出一个终端的所有进程,除了会话线(像/etc/...)
  -f 全部列出,包含了会话线进程

    查看当前系统打开文件:lsof

lsof abc.txt 显示开启文件abc.txt的进程
lsof -c abc 显示abc进程现在打开的文件
lsof -c -p 1234 列出进程号为1234的进程所打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /usr/local/ 显示目录下被进程开启的文件
lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
lsof -d 4 显示使用fd为4的进程
lsof -i 用以显示符合条件的进程情况
lsof -i [46] [protocol][@hostname|hostaddr][:service|port]
 [46] --> IPv4 or IPv6
  protocol --> TCP or UDP
  hostname --> Internet host name
  hostaddr --> IPv4地址
  service --> /etc/service中的 service name (可以不止一个)
  port --> 端口号 (可以不止一个)

    查看资源管理器:top

    查看系统资源使用情况:df

    查看网络IP:ifconfig

    查看文件内容:cat/nl/nano/...

    查看命令帮助: man 命令

    centos 图形界面和命令行界面切换

方法1:运行命令到图形界面
  #startx , 需要先配置图形界面信息
方法2:修改/etc/inittab文件中的 
  id:3:initdefault , 将3改为5 ,重新启动系统;
方法3:进入图形界面: init 5

    从图形界面进入文本界面: init 3

    重启: init 6

    关机: init 0

    centos 重置root密码

1. 开机按e
2. 进入内核e
3. single
4. b引导重启
5. 填写新密码
原文地址:https://www.cnblogs.com/eRrsr/p/5849205.html