linux学习笔记——基础命令
最近看了一些老男孩linux运维视频,挺不错的,特此记录一下
linux组成
gun组件 shell等
linux内核
其他软件 linux主要内核:
linux kernel2.2
linux kernel2.4
linux kernel2.6 发行商:
rehat
suse
centos
ubuntu rehat9.0之后分版本收费
分为rehat3.x rehat4.x rehat5.x rehat6.x
Fedora :rehat的一个分支,可以认为是rehat的预发布版本 Centos:rehat的另外一个分支,是把rehat里面收费的东西去掉,再编译发布 CentOS是国内使用最多的一套linux系统 ------------------------------------------------------------
分区
主分区,扩展分区,逻辑分区
egg:
5个分区(一般最多4个主分区)
1p+le(4个L)P1 L5 L6 L7 L8
2p+le(3个L) P1 P2 L5L6L7
3p+le(2L)
p+e<=4
e(扩展分区)最多只能有一个
L(逻辑分区)只能从5开始
IDE 接口 /dev/hd
hda 第一块盘
hda1 第一个分区
hda2 第二个分区
hdb 第二块盘
SCI 接口:SAS/SATA/SSD
/dev/sd*
sda 第一块盘
sda1
sda2
sdb 第二块盘
linux的分区要求
/根分区,只有一个,存放系统程序,及文件
交换分区swap,相当于win的虚拟内存,内存不够的时候会用到
/boot分区,linux系统的引导分区,一般100--200M 文件系统
ext2/ext3/ext4
ext4效率更高,建议ext4 uname -r 内核版本
uname -a 所有 ----------------------------------------------------------
#表示超级管理员
echo 111 1>xx.log 2>xc.log
1> 表示正常输出
2>表示错误输出 命令 --help 命令的简单帮助
man 命令 命令帮助
help 命令 bash的内置命令帮助 find /root/data -type f(文件) d(目录) filename
find /root/data -type f -exec rm -f {} \;
按照文件类型查找 -exec 对前面的结果进行处理
rm -f 对前面的查找的内容进行处理
{} 表示查找的内容
\;转移 特殊字符按
\ 让一个有意义的字符按,脱掉马甲
比如. 当前目录,\.就代表点 find /root/data -type f | xargs rm -f
xargs 把查找到结果在后面一个个处理 find /root -type f !-name "oldgirl.txt" | xargs rm -f
linux 命令可以接多个参数,and的作用,! 非,取反
-a and
-o or
find ./ -type d maxdepth 1
maxdepth 1 查找的深度为一级 find /log -type -f -name "*.log" -mtime +7 | xargs rm -f -mtime 文件的修改时间 -----------------------------------------------------
grep 过滤器,linux三剑客,老三 grep -v "oldbody" test.txt -v 除了oldboy -B 匹配的行前面多少行
-A 匹配的行后面多少行
-C 匹配的前后多少行
-E 可以过滤多个字符串
grep -E "hicloud|hello" xx.log grep -C 'Exception' 20 root.log
输出异常的前后20行
grep --color=auto "Exception" root.log 过滤的字符加颜色输出 -------------------------------------------------------
cat >test.xtx<<EOF
test
hello
EOF ----------------------------------------------------
sed命令,三剑客老二,过滤(擅长取行)
sed -n(取消默认完整输出) '/oldboy/p' test.txt
sed -n(取消默认完整输出) '/过滤的内容/处理的内容' test.txt -i 改变文件内容 p 打印
d delete,删除 sed -n "20,30p" xx.txt 取20--30行 sed 's#oldboy#oldgirl#g' xx.txt 把oldboy 替换成oldgirl,并未改变文件实体 -i 改变文件实体
-r 不用转义 g 代表全局替换
# 可以用其他符号替换,比如= / @做分隔符 fing ./ -type f -name "xx.txt" | xargs sed "s#olgboy#olggirl#g" eg:
old fff
2old fff
3old fff
sed -r 's#(.*) fff#\1#g' xx.txt
\1 取的是(.*)
old
2old
3old
尽可能的往后匹配 ---------------------------------------------------- mkdir -p /data01/hicloud 递归创建 yum update -y 更新所有软件到最新版本,线上系统最好不做 yum remove 会删除所有依赖的包,所以最好不用 rpm -qa tree 查询这个包(已经安装) tree /root/ 展示目录结构 /bin/cp /mnt/test.txt /tmp/ 覆盖copy
\cp /mnt/test.txt /tmp/ env 环境变量 alias 别名
ll='ls -l'
cp='cp -i' 全路径可以屏蔽这个别名,所以可以直接覆盖,不再提示 定义别名
alias rm='echo "rm can not be used "' unalias 取消别名 别名的位置
cat /root/.bashrc
所有用户生效
/etc/bashrc /etc/profiles
source /etc/profiles ---------------------------------------------- ~ 用户的家目录 root用户就代表 /root
zp 用户就代表zp seq 2 5 序列
2
3
4
5 seq 1 2 10 只打印奇数
seq 2 2 10只打印偶数 seq -s ":" 5 -s是指定分隔符 {1..10}
{a..z}
类似seq ----------------------------------------------------------------- awk 三剑客的老大
一门语言,擅长过滤(取列),打印,删除 awk 'print $1' 文件 $1第一列,$2第二列 egg:
oldboy oldgirl
ddd fff awk '{print $1}' xx.txt
结果:
oldboy
ddd awk -F ":" 'print $1' xx.txt 指定分隔符 awk -F "[, ]" '{print $1 " " $3}' xx.log
多个分隔符 $NF 最后一列
awk 'if(NR<31 && NR>19) prinf $1 "\n"' test.txt ls -l | awk '/^d/' 过滤目录 正则表达式
[root@oldboy ~]# echo ---1:----2|awk -F '[-:]+' '{print $2}'????? 1 [root@oldboy ~]# echo ---1:----2|awk -F '[-:]+' '{print $3}' 2 [root@oldboy ~]# echo ---1:::::2|awk -F '[-:]+' '{print $3}'
2 awk也可以过滤
[root@masters ~]# ifconfig eth0 | awk '/inet addr/'
inet addr:192.168.1.106 Bcast:192.168.1.255 Mask:255.255.255.0 ---------------------------------------------------
cd - 切换到上次的目录
bash
which 查找命令所在的路径,PATH的路径,
linux里面大多数的命令都会在PATH里面去找
which cp
whereid -b useradd
locate useradd linux 时间同步的问题
date -s "xxx" 设置时间 echo "ssssssss" >> /var/spool/cron/root
/dev/null 空设备 黑洞 文件描述符
ulimit -n 查看文件描述符
调整文件描述符
ulimit -nSH 65535
/etc/rc.local
less 按屏或者行查看文件 ==========================================================
用户管理 useradd oldboy
/etc/passwd
/etc/group
/etc/shadow 添加一个用户,信息会保存在这三个文件里面
passwd oldboy 为oldboy设置密码 su - root 切换到root环境
su 直接切换,环境变量还是原来的用户
所以要带- -------------------------------------------------------- 系统的优化
SELinux
/etc/selinux/config
/etc/inittaab 运行级别,一般3模式,没桌面
init 3,切换运行级别 开机自启动:
1,setup
2,chkconfig
chkconfig --level 查看服务
chkconfig --level 235 hicloud off
把hicloud自启动235级别的关掉 --------------------------------------------------------
正则表达式
.单个任意字符
*重复前面多个字符
.* 匹配任意字符
^ 以什么开头的,^old 代表以old开头
$ 以什么结尾的, /$ 以/结尾的
^$ 空行 grep "0*" root.log 匹配至少前面一个0的
grep -o "0*" root.log 精确匹配的
[abc] 匹配括号里面任意一个字符
[a-z] 匹配a-->z
[^a-z] ^在括号里面是取反,即排除a-z
0{3} 重复前面000,
grep -E "0{3}" root.log 0{3,} 至少三次
0{,3} 之多三次
0{3,5} 至少三次 sed -n "s#^.*ddr:##g" xx.log ^.*: 以目标前的匹配
Bc.*$目标后的匹配
第二个#之间不要写东西,相当于把匹配的替换成空的
[root@masters log]#
[root@masters log]# ifconfig | sed -n "2p" | sed -r 's#(^.*dr:)##g' | sed -r 's#( Bc.*$)##g'
192.168.1.106 [root@masters ~]# ifconfig eth0 | sed -nr 's#^.*dr:(.*) Bc.*$#\1#gp'
192.168.1.106
\1 取值(.*) sed -ir 's#()#oldboy#g' xx.txt
r 不用转义 主要就是用在三剑客上面 扩展的正则表达式:
主要是用在Egrep 或者grep-E + 重复一个或者一个以上的前面字符
| 查找多个字符串 -----------------------------------------------------------
内核
/etc/sysctl.conf -----------------------------------------------------------
目录:
/etc/sysconfig/network-scripts/ 网卡目录
/etc/init.d/network restart 网卡生效
ifdown eth0 停掉网卡
ifup eth0 启动网卡 /etc/resolv.conf dns配置
/etc/hosts 相当于局域网的dns,主机名和ip的解析
ip 域名
192.168.1.106 hicloud.test.com 更改主机名:
hostname hicloud 临时生效
/etc/sysconfig/network 永久生效 ------------------------------------------------------------------- /etc/fstab 有关文件系统的静态信息
开机挂在磁盘,设置文件系统挂在信息的文件,使得能够开机自动挂在 df -h 查看磁盘挂在信息 mkfs.ext4 /dev/sbd1 格式化磁盘 挂在:
1,mount -t ext4 -o noexec /dev/sbd1 /mnt
2.fstab 设置fstab自动挂在
/dev/sdb1 /mnt/ ext4 defaults 0 0 mount -a 自动挂在生效 fstab配置错了之后,系统起不来,不能挂在网络设备,只能挂在本机设备
1,开机提示,输入密码,修复
2,救援模式,rescue -------------------------------------------------------
/etc/rc.local 类似windows的启动
开机启动:
1,chkconfig
2,rc.local 建议 用/etc/rc.local,linux启动流程最后的加载文件 ---------------------------------------------------------- /etc/inittab 运行级别文件 ----------------------------------------
/etc/init.d yum/rpm安装的大部分在这下面
--------------------------------------------
/etc/profile.d 登陆的时候执行下面的脚本 -----------------------------------
usr/local 相当于win prog --------------------------------------
/var 路径
/var/log/messages 系统日志
/var/log/srcure ssh连接日志
/var/spool/cron/crontab 定时任务 ----------------------------------------------------- chkconfig
处理的命令在/etc/init.d/ sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
数字值的是运行级别,分别对应
drwxr-xr-x. 2 root root 4096 Mar 21 2015 rc0.d
drwxr-xr-x. 2 root root 4096 Mar 21 2015 rc1.d
drwxr-xr-x. 2 root root 4096 Mar 21 2015 rc2.d
drwxr-xr-x. 2 root root 4096 May 21 06:27 rc3.d
drwxr-xr-x. 2 root root 4096 Mar 21 2015 rc4.d
drwxr-xr-x. 2 root root 4096 Mar 23 2015 rc5.d
drwxr-xr-x. 2 root root 4096 Mar 21 2015 rc6.d 比如运行界别是3
在rc3.d下面
S***sshd-->../init.d/sshd 代表on状态
K***sshd-->../init.d/sshd 代表off状态
也可自己创建删除软连接,实现on off的状态
S55sshd -> ../init.d/sshd
55是怎么来的?
是在服务脚本里面的配置的,前几行 #!/bin/bash
#
# sshd Start up the OpenSSH server daemon
#
# chkconfig: 2345 55 25
# description: SSH is a protocol for secure remote shell access. \
# This service starts up the OpenSSH server daemon.
# ----------------------------------------------------------------------
tar 打包以及压缩,尽量切换到打包文件的上一级目录
tar zcvf etc.tar.gz /etc 压缩
tar tf etc.tar.gz 查看里面的文件 ------------------------------------------
cut
cut -d" " -f2,3 xx.log 指定分隔符,取2,3列 ----------------------------
wc -l /etc/passwd 显示行数
ps -ef | grep tomcat | wc -l ---------------------------
linux学习笔记——基础命令的更多相关文章
- linux学习之——基础命令
Linux体系基础命令: Linux是一个命令行组成的操作体系!精华在命令行,岂论图形界面成长到什么水平这个原理是不会变的,Linux命令有许多壮大的效用:从简单的磁盘操作.文件存取.到举办庞大的多媒 ...
- Linux学习笔记--which命令(搜索命令的命令)
which.哪一个的意思.作用是从PATH环境变量指定的路径中,搜索命令所在位置及命令别名. which命令特点: 1) "which" 命令仅仅能查找系统命令.不能搜索普通文件. ...
- linux/linux学习笔记-常用命令(mooc)
一.命令基本格式及文件处理命令 1.linux命令格式 简化选项用-表示,完整选项用--表示 注:linux通过权限位第1位(-:文件 / d:目录 / l:链接文件 来区分文件类型) 2.linux ...
- Linux学习笔记--终端命令
~ 表示用户目录路径 ls 显示当前目录下的文件或目录 -l 列出文件纤细信息l(list) -a 列出当前目录下所有文件及目录, 包含隐藏的a(all) mkdir 创建目录 -p 创建目录 ...
- linux学习笔记基础篇(一)
一.IP操作 1.临时修改IP ,执行命令 ifconfig 网卡名称 新ip :例如 ifconfg nescc 192.168.1.110 ,重启失效 2.重启网络 ,执行命令 syste ...
- linux 学习笔记 rpm命令
软件包管理 用rpm命令来管理rpm 软件包 1>遵循GPL 规则 2>安装 foo-2.0-1.i386.rpm软件包 #rpm -ivh foo-1.0-1.i386.rpm 3> ...
- Linux学习笔记--ps命令(显示当前进程的命令)
ps:英文名process,进程的意思. 1. 命令格式: ps [选项] 2. 经常使用选项: "ps -a" 显示一个终端的全部进程.除了会话引线 "ps -e&qu ...
- Linux学习笔记--cp命令(复制)
cp:英文名copy,复制的意思. 1. 命令格式: cp [选项] 源文件或文件夹 目标文件或文件夹 cp [选项] 源文件1 源文件2 源文件3 ... 目标文件夹 2. 经常使用选项: &quo ...
- linux学习笔记-dump命令的使用
http://blog.chinaunix.net/uid-29797586-id-4458302.html
随机推荐
- 高级搜索插件solis search在umbraco中的使用
好久没有写关于umbraco的博客了,这段时间在研究solis search,感觉它太强大,好东西是需要分享的,所以写一篇简单的使用博客分享给个人umbraco爱好者. 简介 在了解solis sea ...
- 记录一下emacs在window下的配置过程
今天重装WIN7 64位新系统,装完发现emacs无法加载以前的插件了.网上搜一下才记起来,emacs默认读取的配置文件在c盘,在这个原始配置文件中还需要添加一些路径转换的语句才能转到用户自己的配置文 ...
- [转]jquery getJSON 数据联动(采用序列化和反序列化获取数据) .
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> ...
- 【整理】C#文件操作大全(SamWang)<转>
文件与文件夹操作主要用到以下几个类: 1.File类: 提供用于创建.复制.删除.移动和打开文件的静态方法,并协助创建 FileStream 对象. msdn:http://msdn.microsof ...
- 2、SIP
1.初学者笔记:http://www.cnblogs.com/gnuhpc/archive/2012/01/16/2323637.html 2.SIP头字段解释:http://www.cnblogs. ...
- 优化servlet
在最开始的时候我们写一个servlet(LoginServlet)对应一个请求(Login.jsp),这样的话就会产生很多的servlet,使其以后维护变得麻烦,所以我们可以考虑将同一类型(Login ...
- dede文章调用时过滤调 body里面的style属性和值
dede 发布文章的时候会在里面的标签中添加一些style 属性,现在改网站想去掉这些属性和里面的值,因为文章太多所以就用下面的方法 \include\arc.listview.class.php 在 ...
- webservice wsdl接口配置与调用
准备包 WebRoot/WEB-INF/lib/axis2-adb-1.6.2.jarWebRoot/WEB-INF/lib/axis2-ant-plugin-1.6.2.jarWebRoot/WEB ...
- NK3C系统中ID的汉语名称
系统中的ID有需要显示给使用者看的,统一用"编号",不要用ID或者编码 例如: SampleId 样本编号 正确 样本编码 错误 样本ID 错误 如果见到系统中有用到的,修正即可. ...
- PS1应用之——修改linux终端命令行各字体颜色
最近在学习linux操作系统(CentOS 6 & CentOS 7).觉得linux终端命令行全部为白色,会经常导致命令与输出内容难以分辨.于是上网找到修改linux终端命令行颜色的方法,发 ...