s5-6 Linux 标准输出 系统优化 目录结构
标准输出
重定向符号
[root@lewen ~]# eho hello >>/data/lewen.txt
[root@lewen ~]# cat /data/lewen.txt
hello lewen
错误
-bash: eho: command not found
[root@lewen ~]# eho hello >>/data/lewen.txt
[root@lewen ~]# cat /data/lewen.txt
hello lewen
错误
-bash: eho: command not found
-bash: eho: command not found eho hello >>/data/lewen.txt >>/data/lewen.txt
eho hello >>/data/lewen.txt >&
把错误的信息放入到对的信息中 对的错误在一起 < 输入重定向
echo >/data/num.txt
[root@lewen ~]# cat /data/num.txt [root@lewen ~]# xargs -n2 </data/num.txt << 追加输入重定向
cat >>/data/lewen.txt<<EOF
I
am
studying
linux
EOF
find命令
[root@lewen tmp]# find /root/ -type f -name "lewen.txt"
/root/data/lewen.txt
[root@lewen tmp]# #find /root/ -type f -name "lewen.txt"
[root@lewen tmp]# #find 在哪里找 找什么类型的 找什么名字 -type 找什么类型的
f file 文件
d directory 目录
管道 |
[root@lewen tmp]# find /root/ -type f -name "lewen.txt"
/root/data/lewen.txt
[root@lewen tmp]#
[root@lewen tmp]#
[root@lewen tmp]# find /root/ -type f -name "lewen.txt"|xargs ls -l
-rw-r--r--. root root Sep : /root/data/lewen.txt 找出以.txt结尾的文件
[root@lewen tmp]# find /root/ -type f -name "*.txt"
/root/data/lewen.txt
/root/data/num.txt
已知文件test.txt内容
lewen
test
lidao
请给出输出test.txt文件内容时,不包含lewen字符串的命令。
创建测试文件:
mkdir /data
cat >/data/test.txt<<EOF
test
liyao
lewen
EOF #方法1-grep
[root@lewen ~]# cd /data/
[root@lewen data]# cat test.txt
test
liyao
lewen
[root@lewen data]# grep -v "lewen" test.txt
test
liyao #方法2-head
[root@lewen data]# head test.txt
test
liyao
lewen
[root@lewen data]# head -n2 test.txt
test
liyao
[root@lewen data]# head - test.txt
test
liyao [root@lewen data]# tail test.txt
test
liyao
lewen
[root@lewen data]# tail - test.txt
liyao
lewen
[root@lewen data]# tail - test.txt
lewen #方法3-awk
[root@lewen data]# awk '/lewen/' test.txt
lewen
[root@lewen data]# grep "lewen" test.txt
lewen
[root@lewen data]# grep -v "lewen" test.txt
test
liyao
[root@lewen data]# awk '!/lewen/' test.txt
test
liyao
[root@lewen data]# #awk中 !表示取反 非 #方法4-sed
[root@lewen data]# sed '/lewen/d' test.txt
test
liyao 小结:
.grep 过滤 ******
.head tail ******
.sed awk 了解
- 已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。
[root@lewen data]# cp /mnt/test.txt /tmp/
cp: overwrite `/tmp/test.txt'? ^C
#方法1 撬棍
[root@lewen data]# \cp /mnt/test.txt /tmp/ #方法2 使用命令的绝对路径 全路径 [root@lewen data]# which cp
alias cp='cp -i'
/bin/cp
[root@lewen data]# which mkdir
/bin/mkdir [root@lewen data]# ls -l /bin/cp
-rwxr-xr-x. root root Mar /bin/cp
[root@lewen data]# /bin/cp /mnt/test.txt /tmp/ #提示你是否覆盖? 是否删除? #为何我们执行cp的时候就相当于cp -i
#为何我们执行rm的时候就相当于rm -i ###linux别名
##小名 昵称 爱称 外号 ##目标
###.防止运行危险命令******
###.省事 简化命令 ##如何设置一个别名 ###第一个里程碑-查看系统中的别名 [root@lewen data]# alias rm cp mv
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
###第二个里程碑-模仿
#执行rm命令的时候提示 do not use rm
root@lewen data]# echo do not use rm
do not use rm
[root@lewen data]# alias rm='echo do not use rm'
[root@lewen data]# alias rm
alias rm='echo do not use rm'
[root@lewen data]# rm /tmp/test.txt
do not use rm /tmp/test.txt
[root@lewen data]# rm -f /tmp/test.txt
do not use rm -f /tmp/test.txt
[root@lewen data]# rm -fr /tmp/test.txt
do not use rm -fr /tmp/test.txt
###第三个里程碑-永久生效
#/etc/profile
#vim 快捷键
##移动光标到文件的最后一行 G
##移动光标到文件的 第一行 gg
##在光标所在位置的下一行插入一个空行 并进入编辑模式 o(小写字母)
[root@lewen ~]# tail - /etc/profile
alias rm='echo do not use rm' [root@lewen ~]# source /etc/profile
[root@lewen ~]# alias rm
alias rm='echo do not use rm' #第四个里程碑-填坑
编辑 /root/.bashrc
把 alias rm='rm -i'这一行前面加上一个注释# 小结:
.配置别名
.临时取消别名 cp rm
- 只查看ett.txt文件(共100行)内第20到第30行的内容
[root@lewen ~]# #sed 默认输出 sed命令会把文件的内容 默认都显示出来
[root@lewen ~]# sed -n '20p' /lewen/ett.txt [root@lewen ~]# sed -n '20,30p' /lewen/ett.txt
方法1-sed
[root@lewen ~]# head - /lewen/ett.txt |tail -
方法2-head + tail
#方法3-awk
[root@lewen ~]# awk 'NR==20' /lewen/ett.txt #NR表示行号
#== 表示等于
[root@lewen ~]# awk 'NR==20,NR==30' /lewen/ett.txt
[root@lewen ~]# sed -n '20,30p' /lewen/ett.txt #方法4-grep
[root@lewen ~]# grep "" /lewen/ett.txt [root@lewen ~]# #文件的内容 ====等于这一行的行号
[root@lewen ~]# grep -A10 "" /lewen/ett.txt 小结:
.取出文件中的某一行,或者连续的几行
.sed,head+tail
.awk-了解
- 把/lewen目录及其子目录下所有以扩展名 .sh结尾的文件中,文件包含lewen的字符串全部替换为oldgirl
创建测试环境:
mkdir -p /lewen/test
cd /lewen
echo "lewen">test/del.sh
echo "lewen">test.sh
echo "lewen">t.sh
touch lewen.txt
touch alex.txt #第一个里程碑-找出你要的文件
[root@lewen lewen]# find /lewen/ -type f
/lewen/t.sh
/lewen/lewen.txt
/lewen/test.sh
/lewen/test/del.sh
/lewen/ett.txt
/lewen/alex.txt
[root@lewen lewen]# find /lewen/ -type f -name "*.sh"
/lewen/t.sh
/lewen/test.sh
/lewen/test/del.sh #第二个里程碑-lewen替换为oldgirl 处理一个文件
[root@lewen lewen]# cat /lewen/t.sh
lewen
[root@lewen lewen]# #sed 's#找谁#替换为什么#g' /lewen/t.sh
[root@lewen lewen]# #替换
[root@lewen lewen]# sed 's#lewen#oldgirl#g' /lewen/t.sh
oldgirl
[root@lewen lewen]# cat /lewen/t.sh
lewen
[root@lewen lewen]# #sed修改文件的内容
[root@lewen lewen]# sed -i 's#lewen#oldgirl#g' /lewen/t.sh
[root@lewen lewen]# cat /lewen/t.sh
oldgirl #第三个里程碑-把find命令找到的文件交给sed命令处理
[root@lewen lewen]# find /lewen/ -type f -name "*.sh"
/lewen/t.sh
/lewen/test.sh
/lewen/test/del.sh
[root@lewen lewen]# find /lewen/ -type f -name "*.sh"|xargs ls -l
-rw-r--r--. root root Sep : /lewen/test/del.sh
-rw-r--r--. root root Sep : /lewen/test.sh
-rw-r--r--. root root Sep : /lewen/t.sh
[root@lewen lewen]# find /lewen/ -type f -name "*.sh"|xargs sed 's#lewen#oldgirl#g'
oldgirl
oldgirl
oldgirl
[root@lewen lewen]# find /lewen/ -type f -name "*.sh"|xargs sed 's#lewen#oldgirl#g' -i
[root@lewen lewen]# find /lewen/ -type f -name "*.sh"|xargs cat
oldgirl
oldgirl
oldgirl 小结:
.find 与|xargs
.ls -l rm sed
.sed名进行替换 修改文件内容
1.find 与|xargs
2.ls -l rm sed
3.sed名进⾏替换 修改⽂件内容
s5-Linux系统优化
[root@lewen lewen]# useradd lewen
[root@lewen lewen]# id lewen
uid=(lewen) gid=(lewen) groups=(lewen)
[root@lewen lewen]# id lilaoshi
id: lilaoshi: No such user
[root@lewen lewen]# passwd lewen
Changing password for user lewen.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully. #切换用户
[root@lewen lewen]# whoami
root
[root@lewen lewen]# su - lewen
[lewen@lewen ~]$ whoami
lewen #切换回root
[lewen@lewen ~]$ su - root
Password:
#退出当前用户 注销
[lewen@lewen ~]$ #ctrl + d
[lewen@lewen ~]$ logout 课后题目:
#su 与su -区别
[root@lewen ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@lewen ~]# uname -r
2.6.-.el6.x86_64
[root@lewen ~]# uname -m
x86_64
##一般都是大写的,在系统中任何的地方都可以使用。
[root@lewen ~]# echo $PS1
[\u@\h \W]\$
[root@lewen ~]# #\u=====当前用户名 whoami
[root@lewen ~]# #\h 当前主机名 hostname
[root@lewen ~]# #\W 当前的位置 pwd
[root@lewen ~]# PS1='[\u@\h \W \t]\$'
#临时关闭-重启服务器失效
[root@lewen ~]# #查询selinux状态
[root@lewen ~]# getenforce
Enforcing
[root@lewen ~]# #enforcing selinux正在运行
[root@lewen ~]# #permissive selinux临时关闭 还是提示警告
[root@lewen ~]# #disabled selinux彻底关闭
[root@lewen ~]# setenforce
usage: setenforce [ Enforcing | Permissive | | ]
[root@lewen ~]# setenforce
[root@lewen ~]# getenforce
Permissive #永久关闭-重启服务器生效
vim /etc/selinux/config [root@lewen ~]# grep "=disabled" /etc/selinux/config
SELINUX=disabled
[root@lewen ~]# grep "disabled" /etc/selinux/config
# disabled - No SELinux policy is loaded.
SELINUX=disabled 小结:
.临时关闭-setenforce
.永久关闭-修改配置文件
#服务器对外使用,有外网,开启防火墙
#服务器内网, 关闭 #关闭防火墙 #临时关闭
#查询防火墙是否在运行
/etc/init.d/iptables status [root@lewen ~]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@lewen ~]# /etc/init.d/iptables stop
[root@lewen ~]# /etc/init.d/iptables status
iptables: Firewall is not running. #永久关闭
开机自动启动
#让iptables在开机的时候 不自动启动
chkconfig [root@lewen ~]# chkconfig |grep ipt
iptables :off :off :on :on :on :on :off
[root@lewen ~]# chkconfig iptables off
[root@lewen ~]# chkconfig |grep ipt
iptables :off :off :off :off :off :off :off 小结:
.临时关闭 xxxx stop
.永久 chkconfig xx off
.什么是字符集?
##表示字符 文字的方法
UTF- 万国码 系统默认的字符集
GBK GB2312 .如何查看系统的字符集
[root@lewen ~]# echo $LANG
en_US.UTF-
[root@lewen ~]# #语言.字符集 .如何修改字符集-临时
[root@lewen ~]# export LANG=zh_CN.UTF-
[root@lewen ~]# echo $LANG
zh_CN.UTF- .如何修改字符集-永久
[root@lewen ~]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16" .生效
[root@lewen ~]# source /etc/sysconfig/i18n
[root@lewen ~]# echo $LANG
en_US.UTF- #.查看中文乱码的原因******
)linux使用的字符集
)远程连接工具使用的字符集
) 与 ) 不同 就会导致乱码 #.排查
)linux使用的字符集
)远程连接工具使用的字符集 #.解决
方法1 修改远程连接工具字符集
方法2 修改linux系统的字符集
.如何修改字符集-临时
.如何修改字符集-永久
.生效
s6-Linux目录结构特点
#.把光盘放入到光驱中
#.linux中使用光盘 /dev/cdrom
[root@lewen ~]# ll /dev/cdrom
lrwxrwxrwx. root root Sep : /dev/cdrom -> sr0
[root@lewen ~]# cd /dev/cdrom
-bash: cd: /dev/cdrom: Not a directory
[root@lewen ~]# cat /dev/cdrom ###.把光盘挂载到系统里面
[root@lewen ~]# mount /dev/cdrom /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@lewen ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 .8G .4G .0G % /
tmpfs .9G .9G % /dev/shm
/dev/sda1 190M 40M 141M % /boot
/dev/sr0 .7G .7G % /mnt 小结:
.一切从根开始,一切皆文件
.linux设备(光盘/磁盘分区)不挂载无法使用
.挂载相当于给磁盘分区/设备 开了一个入口 通过入口进入到光盘/磁盘分区中
.入口-挂载点-目录
#网卡的配置文件
DEVICE=eth0 ###网卡的名字
HWADDR=:0c::1e:: #@@hardware address硬件地址 MAC地址
TYPE=Ethernet ###互联网
UUID=3405d22b-1aab-45a5-b57f-c0d005e4f269 ###UUID 系统中唯一的标识
ONBOOT=yes #@@booton 在重启的时候是否开启网卡(自动运行)
NM_CONTROLLED=yes ###是否能被network软件进行管理
BOOTPROTO=none #@@网卡获取ip地址的方式
#none/static ip地址是固定的
#dhcp 自动获取ip地址
IPADDR=10.0.0.200 #@@ ip address ip地址
NETMASK=255.255.255.0 ### 子网掩码
GATEWAY=10.0.0.2 #@@ 网关 默认的出口
USERCTL=no ###是否准许普通用户管理网卡 开 关 重启
PEERDNS=yes ###
DNS1=223.5.5.5 #@@
DNS2=223.6.6.6 #@@ #上网使用 www.baidu.com jd.com taobao.com 域名
##把使用的域名转换为ip地址 ----DNS做 域名解析服务/系统 ###阿里云的DNS
#223.5.5.5
#223.6.6.6 #
#114.114.114.114
#114.114.115.115 #谷歌
#8.8.8.8
#.在网卡配置文件中添加上
DNS1=223.5.5.5
DNS2=223.6.6.6 [root@lewen ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=:0c::1e::
TYPE=Ethernet
UUID=3405d22b-1aab-45a5-b57f-c0d005e4f269
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=10.0.0.200
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
USERCTL=no
PEERDNS=yes
IPV6INIT=no
DNS1=223.5.5.5
DNS2=223.6.6.6
#www.baidu.com ---->119.75.216.20
10.0.0.200 www.baidu.com www.jd.com
##进行测试
/etc/hosts
C:\Windows\System32\drivers\etc\hosts
查看当前的主机名
[root@lewen ~]# hostname
lewen 临时修改主机名-重启服务器之后失效
[root@lewen ~]# hostname lewenedu01-nb
[root@lewen ~]# hostname
lewenedu01-nb 永久修改主机名-重启服务器之后生效
[root@lewenedu01-nb ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=lewenedu01-nb
/etc/fstab 开机的时候自动挂载的文件 开机的时候给每个磁盘分区开一个入口
init tab(table) .linux运行级别讲解
关机状态,不要把运行级别设置为0
单用户模式 root用户密码忘记了
多用户模式,但是没有NFS
完全的多用户模式,命令模式,文本模式
未使用
X11,桌面模式,图形化界面模式
重启状态,不要把运行级别设置为6
.如何查看当前运行级别
[root@lewenedu01-nb ~]# runlevel
N
[root@lewenedu01-nb ~]# #N
[root@lewenedu01-nb ~]# #上一次使用的运行级别 当前系统的运行级别 .如何切换运行级别-临时
[root@lewenedu01-nb ~]# #上一次使用的运行级别 当前系统的运行级别
[root@lewenedu01-nb ~]# init
[root@lewenedu01-nb ~]# runlevel .如何永久修改运行级别-重启生效
[root@lewenedu01-nb ~]# tail - /etc/inittab
id::initdefault: 小结:
1.0-6含义
.如何查看
.如何修改 临时 永久
目录详解--/etc/init.d 服务管理的命令
.yum (自动解决安装依赖的软件) 点外卖-你缺少什么外面给你解决
yum install tree
.rpm (缺啥少啥自己解决) 速冻水饺-半成品-缺少的东西自己解决
.编译 自己做饭
买菜切菜---------炒菜----上菜
./configure------make----make install [root@lewenedu01-nb ~]# ##查看软件是否安装成功
[root@lewenedu01-nb ~]# rpm -qa |grep tree
tree-1.5.-.el6.x86_64
[root@lewenedu01-nb ~]# free
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:
[root@lewenedu01-nb ~]# free -h
total used free shared buffers cached
Mem: .7G 377M .4G 236K 38M 162M
-/+ buffers/cache: 176M .6G
Swap: 767M 0B 767M
/proc/cpuinfo 查看cpu信息lscpu
负载:系统的繁忙程度
最近1分钟 最近5分钟 最近15分钟 平均负载
[root@lewenedu01-nb ~]# w
:: up :, users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/ 10.0.0.1 : :08m .18s .18s -bash
root pts/ 10.0.0.1 : :02m .06s .06s -bash
root pts/ 10.0.0.1 : .00s .18s .07s w
root pts/ 10.0.0.1 : :01m .03s .03s -bash
s5-6 Linux 标准输出 系统优化 目录结构的更多相关文章
- (大数据工程师学习路径)第一步 Linux 基础入门----目录结构及文件基本操作
Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录 ...
- 深入理解linux系统的目录结构(总结的非常详细)
对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面 ...
- linux系统的目录结构
前言 对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要 ...
- linux分区,文件系统,目录结构概述
1.Linux中如何表示硬盘,分区 Linux内核读取光驱,硬盘等资源时均通过“设备文件”的形式进行,因此在linux系统中,将硬 盘和分区表示为不同的文件.具体表述形式如下: 硬盘:对于IDE接口的 ...
- Linux文件系统的目录结构
Linux下的文件系统为树形结构,入口为/ 树形结构下的文件目录: 无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的.各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差 ...
- Linux 01 Liunx目录结构及文件基本操作
Linux目录结构及文件基本操作 1.Linux的文件组织目录结构(遵循FHS标准) FHS(Filesystem Hierarchy Standard)标准:多数Linux版本采用这种文件组织形式, ...
- Linux文件系统的目录结构详解
Linux文件系统的目录结构详解 一.前 言 文章对Linux下所有目录一一说明,对比较重要的目录加以重点解说,以帮助初学者熟练掌握Linux的目录结构. 二.目 录 1.什么是文件系统 2.文件 ...
- Linux系统的目录结构及常见目录总结
Linux系统的目录结构(必须掌握的内容) 所有目录只有一个顶点/(根),所有目录的起点. 只有一棵树 Linux的目录结构也是有规律的,而且也是按照类别组织的. 应用程序 /usr/bin 数据文件 ...
- linux学习笔记-目录结构(1)
每个linux系统的目录结构差不多,因为有FHS(Filesystem Hierarchy Standard)标准的规范. FHS的重点在于规范每个特定的目录下应该要放什么样的数据. FHS依据文件系 ...
随机推荐
- NodeJS学习之win10安装与sublime配置
Window 上安装Node.js Node.js安装包及源码下载地址为:https://nodejs.org/en/download/ 下载安装就行了,安装node会同时安装npm. sublime ...
- spring cloud 学习目录
1.spring cloud简单示例 2.spring cloud快速入门 3.spring cloud 常用 4.spring cloud 原理 5.spring cloud 源码分析 6.spri ...
- window.open() 打开的子页面 往主页面传参问题
<!--主页面的代码--><!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- IDEA VM设置
1.IDEA vm options -server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128 ...
- __iter__ 和 __next__
class F: def __init__(self,x): self.x = x def __iter__(self): #把对象 变成可迭代对象 return self def __next__( ...
- angular中使用ckplayer播放器
原文地址:https://www.cnblogs.com/jying/p/9519557.html ,转载请说明出处. ckplayer官网:http://www.ckplayer.com 使用ckp ...
- 对于链表中tada的绝对值相等的点,仅保留第一次出现的结点而删除其余绝对值相等的点
算法的核心思想是用空间换时间,使用辅助数组记录链表中已出现的数值 从而只需对链表进行一趟扫描 typedef struct node { int data; struct node* next; } ...
- uboot 设备树 libfdt
http://www.cnblogs.com/leaven/p/6295999.html
- java学习笔记(二):枚举值
枚举值的作用:枚举限制了变量要有一些预先定义的值,运用枚举值可以大大减少你的代码中的漏洞,举例来说,如果我们想为一家鲜榨果汁店编个程序,就可以将杯子的尺寸限制为小中和大.这样就可以确保人们不会定大中小 ...
- CentOS开机报错:sd 0:0:0:0: [sda] Assuming drive cache: write through
解决方法: vim /etc/default/grub 文件里去掉 rhgb 参数. [root@lb-nginx- ~/]#vim /etc/default/grub GRUB_TIMEOUT= G ...