1.创建一个目录/data
mkdir /data
用一条命令创建多层目录
mkdir -p /root/data/yang; -p递归创建目录
记忆方法: make directory
2.更换当前目录
cd /data;
记忆方法change directory
3.在/data下面创建一个文件yang.txt
(1)cd /data
Touch yang.txt
(2)touch /data/yang.txt
记忆方法 ,touch = 摸一下,
4.为yang.txt 增加内容
(1)Vi yang.txt
(2)Vim yang.txt
5.查看 cat
cat yang.txt
cat -n yang.txt
带行号的查询
6.单行或多行字符串打印 echo
echo ”haha”
新用法:echo {1..10} echo {a..z}
7.将单行多行字符串插入到xin.txt文件末尾 重定向>
echo “haha” >xin.txt
(>>是追加重定向)
echo “gaga” >> xin.txt
8.复制yang.txt到xin.txt
cp yang.txt xin.txt
记忆方法:copy
9.移动目录或文件
mv yang.txt /root
10.打印工作目录
pwd
记忆方法:print work directory
11.查看目录列表
ls
ls -l 以长格式显示文件属性
ls -d 显示目录
记忆方法:list
12.命令的帮助 man
man touch
13.删除文件或目录 rm
a)删除文件 rm yang.txt
b)删除文件且不加提示 rm -f tang.txt (不常用)
c)删除目录 rm -fr oldboy
d)Xargs rm -f
(一般不用,一定要用先做备份,cp)
替代方法:
1)mv移动到一个临时目录,回收站
2)Find删除
记忆方法 remove
【14.find 极其重要】
第一种常用
find /root/data/ -type f |xargs rm -f
管道 |
find /root/data/ -type f -exec rm -f {} \;
-exec 对找到的内容做处理
em -f 具体处理的方法
{} 找到的内容
\;对;号进行转义
15. .. 上级目录
. 当前目录
\. 代表点号;
面试题:
一个文件下,除了一个yang.txt的文件不删,其余的全删
find /root/data -type f ! -name “yang.txt” |xargs rm -f
16.取文件前N行
Head -2
17.【grep 过滤器(极其重要),把想要的和不想要的分开】
a)grep “oldboy” test.txt 就要oldboy
Oldboy
b) -v排除 grep -v “oldboy” test.txt 除了oldboy都要
Test
Liyao
c) -B 除了显示当前行,还把前面N行显示出来
i)grep 30 -B 10 test.txt
d)-A除了显示当前行,还把后面N行显示出来
i)grep 20 -A 30 test.txt
e)-C 除了显示当前行,还把前后N行显示出来
i)grep 25 -C 5 test.txt
f)-v 排除
grep -v "h" yang.txt
把文件中有h的行排除,把其它的行显示出来
g)-i 不区分大小写
grep -i "H" yang.txt
和上一条效果一样
h)-E 过滤多个字符串
grep -E "M|b" yang.txt
把包含“M”或者“b”的字符串显示出来
18.*****sed -n ‘/过滤的内容/处理的命令’ 文件名(stream editor 流编辑器)
-n 取消默认输出
-i 改变文件内容
sed -n ‘/oldboy/d’ test.txt
sed -n '2,8p' test.txt
处理的命令:p print 打印, d delete 删除
*****sed的替换功能
Sed “s###g” 文件名
Eg:
1)sed “s#e#a#g” test.txt
2)sed -i “s#e#a#g” test.txt 永久替换
解释:
s:常说的查找并替换,用一个字符串替换成另一个字符串
g:与s联合使用时,便是对当前行全局匹配;
*****sed的读取匹配功能
sed -i 's#()#\1#g' test.txt
一个括号对应一个\,第二个括号就是\2.
19.yum install tree
20.rpm ivh 包名.rpm
21.查看目录树 tree
22.查看以及定义别名 alias
a)alias yang=’echo “i am yang”’
23.unalias 取消别名
a)Unalias yang
24.~ 代表用户的家目录,针对root ~就代表root
25.seq序列=sequence
1)seq 5 8 打印5 - 8列
2)seq 5 10 50 打印5-50之间等差值是10
3)seq -s “=” 5 8 一行打印5-8 分隔符是”=”
[root@node2 ~]# seq -s "=" 5 5 95
5=10=15=20=25=30=35=40=45=50=55=60=65=70=75=80=85=90=95
26.tail 尾巴 与hand对应
a)Tail -3 取文件最后三行
b)-f 跟踪一个文件尾部的实时变化
面试题:在一个有100行的文件中选取20-30行的内容
1) Head -30 test.txt | tail -11
2) Set -n ‘20,30p’ test.txt
27.*【awk 一门语言,过滤内容(取列)(非常重要)】
a)awk '{print $2}' test.txt 显示第二列的数据
b)awk -F ":" '{printf $1"\n"}' /etc/passwd 指定分隔符为“:”的第一列数据, $NF 表示最后一列
面试题:在这种环境下替换所有”test.txt”中的“oldboy”替换成”oldgirl”
find /root/data/ -type f -name "test.txt" | xargs sed -i "s#oldgirl#haha#g"
find /root/data/ -type f -name "test.txt" 表示找到类型为文件,名字叫test.txt的文件
xargs 表示要对找到的文件进行操作的关键字
sed -i "s#oldgirl#haha#g" 永久替换 -i “s###g”
28.history 调出命令历史记录
29.互传文件
yum install lrzsz
1)直接打rz 选择上传的文件到linux
2)直接打sz 选择文件下载到windows
30.查看系统版本
cat /etc/redhat-release
31.查看内核
uname -r --内核信息
uname -m --32位还是64位
hostname --显示主机名
32.添加账号
useradd 用户名
33.为用户设置密码
passwd 用户名
34.查看当前的用户
whoami
35.角色切换 su
当前是普通用户,切换到root用户
su - root 一定要加- 表示携带环境变量
36.检查selinux状态
getenforce
37.设置selinux状态
settenforce
1) 1:启用
2)0:警告,不启用
38.用户级别
[root@node1 ~]# tail /etc/inittab
Default runlevel. The runlevels used are:
0 - halt (Do NOT set initdefault to this)
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 - Full multiuser mode
4 - unused
5 - X11
6 - reboot (Do NOT set initdefault to this)
id:3:initdefault:
0 -- 代表关机状态
1 -- 代表单用户模式,比如linux root密码忘了,想要找回密码就用这个模式
2 -- 多用户模式,但是不能联网
3 -- 文本模式(工作场景用的就是这种模式)
4 -- 现在还没用
5 -- 桌面模式
6 -- 重启模式
runlevel 查看当前用户级别
39. 修改开机启动项
查看 chkconfig --list
修改 chkconfig --level 3 atd off
atd -- 服务名
40.关闭防火墙
1)service iptables stop
2)/etc/init.d/iptables stop
基础正则表达式
1). --单个任意字符
2)* --重复前面任意0个或多个字符
3).* -- 匹配任意字符
41.远程登录
ssh ip地址
42.远程传送文件
scp 文件 当前身份@目的IP地址:/文件地址
配置主机之间的免密登录
假如 A 登录 B
(B这里就写IP就行)
在A上操作:
首先生成密钥对
ssh-keygen (提示时,直接回车即可)
再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中
ssh-copy-id B
查看日志文件
tail -f(-F) 文件 实时回显文件
后台服务管理
service --status-all 显示所有的服务
service network status 查看指定服务的状态
service network stop 停止指定服务
service network start 启动指定服务
service network restart 重启指定服务
设置后台服务的自启动配置
chkconfig 查看所有服务器自启配置
chkconfig iptables off 关掉指定服务的自动启动
chkconfig iptables on 开启指定服务的自动启动