Linux基础命令二

*jar和shell脚本配置路径尽量是全路径。

1.clear 清理屏幕

2.mv 移动(其文件始终是一份),运行速度快

  cp 复制(重新生成一份),运行速度慢(复制文件夹需要加参数-r,文件则不需要)

[注]:标准的操作必须满足以下两点:

    ①移动或拷贝原始文件名或文件夹名;

    ②目标端的路径

    如:cp -r 原路径 目标路径

标准命令:

  mv xx 1/xx  #将xx移动到文件夹1

  mv xx 1/xxx  #将xx移动到文件夹1并改名(可以用于同目录下文件改名字:mv xx xxx)

  cp -r xx 1/xx  #将xx复制到文件夹1

  cp -r xx 1/xxx #复制并改名文件夹

  cp -r x.log xx.log #复制并改名文件

练习:

rm -rf *

clear

mkdir kunge1

mkdir 1

ll

mv kunge1 1

cd 1

ll

mkdir kunge2

cp kunge2 1  ❌

cp kunge2 1/kunge2  ❌

cp -r kunge2 1/ kunge2

cd 1

ll

mkdir kunge3

cp -r kunge3 1/kunge33

mkdir  kunge4

mv kunge4 1/ kunge44

cd 1

ll

mkdir kunge5

cp -r kunge5 1

3.创建文件

创建一个空文件:

①touch 1.log (0字节,真正的"空")

②vi 2.log

③cat /dev/null > 3.log #将已有的文件变为空文件

④echo "" > 4.log #将空自己打印进4.log(并不是真"空",里面有一个占位符)

[高危命令1]:(千万不要把>>输入成>)

>      代表覆盖,将文本内容覆盖掉

>>  代表追加,将文本内容追加进去

规避风险:提前拷贝(养成及时备份的习惯cp mysql.cnf mysql.cnf20010105)

创建新文件夹的一般思路:先清理内容,再判断是否为空。假如为空就继续执行脚本文件,否则退出。

练习:

rm -rf *

ll

clear

touch 1.log

ll

vi 2.log

    www.comer_liu.com

ll

cp 2.log 3.log

ll

cat /del/null > 3.log

ll

cp 2.log 4.log

ll

echo "" > 4.log

ll

echo ""

echo "1"

cat 2.log

echo "" > 2.log

ll

cat 2.log

echo 2 > 2.log

echo 3 >> 2.log

echo 4 >> 2.log

cat 2.log

4.1查看文件内容

    cat  文件内容全部显示,用“Ctrl+C”中断(适合内容比较少的文件,不适合内容比较多的)

    more  文件内容一页一页的下翻,“空格”翻页,用“Ctrl+b”回退往上翻,“q”退出(适用于内容较多的文件)

    less  文件内容按“↑↓”键按照“行”翻动,“q”退出。

练习:

cd /var/log

ll

cat Xorg.q.log

more Xorg.q.log

less Xorg.q.log

4.2 tail实时查看文件内容

    tail -f  实时查看文件内容。假如文件被移除,然后重命名,就无法再监控到文件。

    tail -F  实时查看文件内容。假如文件被移除,然后重命名,会不断地“retry”尝试去监控文件,直到文件被监控到位。

[高危命令2:](千万不能把“tail -f"写成“tail -F")

  !!!规避风险:tail --help (仔细阅读命令帮助)

练习:

touch 1.log  2.log

ll 

(新建两个会话窗口,分别输入:)

tail -f 1.log

tail -F 2.log

(此时在原会话窗口输入:)

echo 1 >> 1.log(观察新建窗口2的变化)

echo 2 >> 2.log(观察新建窗口3的变化)

#说明tail -f 和tail -F都能实时查看文件内容

(在原会话窗口继续输入:)

mv 1.log 1.log1

touch 1.log

echo 3 >> 1.log(观察新建窗口2的变化,此时没有任何变化,说明tail -f已经监测不到了)

(在原会话窗口继续输入:)

mv 2.log 2.log1

touch 2.log

echo 4 >> 2.log(观察新建窗口2的变化,说明tail -F能够不断尝试监测文件,直到监测到)

    tail -100f 1.log  #查看文件内容倒数100行,并实时监控,用“Ctrl+C”退出(用于定位问题,可在查看问题上使用)

练习:

cd /var/log

ll

tail -100f Xorg.q.log

[附:]log4j 日志组件 规则:大小100M,保留10份

例如:exp.log 当其满了100M时,执行:

mv exp.log exp.log1

touch exp.log #生成空的exp.log和100M的exp.log1

当空的exp.log又满100M时,又执行:

mv exp.log exp.log2

touch exp.log #生成空的exp.log和100M的exp.log2

一直这样直到生成10个100M的exp.log.x文件(x:1~10),然后循环滚动。

☞当文件内容特别多时,如何快速定位到“ERROR”等关键信息?

  cat 文件.log |.grep ERROR(或其他关键词) #打印文件内容;"|":管道符(把上一个命令输出结果作为下一个命令输入)

    ①cat 文件.log | grep -A 10 ERROR

      #显示当前关键词" ERROR"出现后的后10行

    ②cat 文件.log | grep -B 10 ERROR

      #显示当前关键词" ERROR"出现后的前10行

    ③cat 文件.log | grep -C 10 ERROR

      #显示当前关键词" ERROR"出现后的前后各10行,共21行

当ERROR很多时,成千上万,可用以下命令:

    ④cat 文件.log | grep -C 10 ERROR > 1.log

      #把查看到的" ERROR"内容(即关键词ERROR的前后各20行(输入并覆盖到文件1.log里面

    more 1.log #用more查看1.log文件内容

练习:

vi error.log

cat error.log | grep ERROR

cat error.log | grep -A 10 ERROR

cat error.log | grep -B 10 ERROR

cat error.log | grep -C 10 ERROR

touch 1.log

cat error.log | grep -C ERROR > 1.log

cat 1.log

当文件内容很大时,通过进入编辑模式操作:

    ⑤vi 文件.log 然后"shift+ : "

      输入"/ ERROR"(/:匹配符)回车,再按"n"上下翻进行查找

    ⑥通过将日志文件下载到Windows电脑再进行搜索、定位、分析:

      yum install -y lrzsz #安装上传下载包

    接着使用rz、sz进行上传下载,见5

【坑:】假如xxx.log原文件很大,那么从生产下载到公司网络是不是要走外网带宽10M的,

问:会不会影响公司服务?

答:肯定会影响公司服务的

[建议]:假如下载文件很大,业务高峰期或者工作日白天尽量不要做。如果非要做,那就限速!(通过下载工具FTP,而不能使用sz)

5.上传下载

    yum install -y lrzsz #执行安装命令(此命令需要root用户权限)

    sz  将文件从Linux下载到Windows

    rz  将文件从Windows上传到Linux

[注意!:]上传文件时要检查文件名是否有重复,否则上传失效

      上传之前需要获取root用户权限,visudo 进入编辑模式配置:

    root ALL=(ALL)      ALL

    comer ALL=(ALL)  ALL

练习:

cd /var/log

su

visudo  进入编辑模式配置:

    root ALL=(ALL)      ALL

    comer ALL=(ALL)  ALL

yum install -y lrzsz

touch 1.log

vi 1.log

sz 1.log

cd ~

rz

cat abc.txt

6.别名 alias(用来简化常用命令或复杂命令)

[说明:]别名"alias"命令仅在当前会话窗口有效,在另一个会话窗口无效(因为未设置全局生效)

如果在另一个窗口输入别名后的命令,会报错:

bash:klog:command not found...(命令找不到)

原因:①未正确安装软件

        ②未配置环境变量

练习:

alias klog='cd /var/log'

pwd

cd

klog

pwd

7.创建新用户和设置密码

useradd kk

id kk

passwd kk

设置密码:8位(这里一定要8位,因为系统默认的,后面可以修改默认的)

确认密码:8位

8." table"键

Tab 按一次,匹配只有一个自动补齐

        按两次,显示出所有匹配的字符

9.环境变量(全局变量、个人变量)

(1)全局变量

    /etc/profile 默认文件在这里,通过"vi"操作        source /etc/profile #使生效

[易错点:]"source /etc/profile"只在当前的会话窗口和新的会话窗口生效(新开启的窗口自动生效),已经开启的会话窗口不会跟着生效,若想跟着生效,则需要再那个会话窗口输入" source /etc/profile"重新执行。

练习:

vi /etc/profile

    alias klog='cd /var/log'

source /etc/profile

klog

pwd  新建会话窗口输入:

klog

pwd  在某一个已经开启的会话窗口输入:

klog

pwd

(2)个人变量

    ~/.bash_profile或者:~/.bashrc 二者都在家目录下,都是隐藏文件

    cd ~

    source .bash_profile

    . .bash_profile

[场景:]ssh远程B机器,启动服务命令

        报错:java command not found

        但是直接登录B机器,命令是找到的(which java)

    原因:配置环境变量文件在. bash_profile是不正确的,应该配置在.bashrc文件里面。

参考网站:

http://blog.csdn.net/whitehack/article/details/51705889

练习:

cd

vi ~/. bash_profile

    alias tt='cd /tmp'

source . bash_profile

. . bash_profile

tt

pwd

10.history  历史命令

    history 显示历史命令(用"↑↓"键查看之前的命令)

      !57    #执行第57行命令

history -c  #清空历史命令

对于直连服务器,清空历史命令,OK;

对于跳板机( VPN)服务器,清空历史命令,OK;

对于堡垒机,每敲一个命令,都会记录在堡垒机系统,Web界面一定位就出来了。

同步更新自:

1.Linux基础命令2(一) - 简书 (jianshu.com)

2.Linux基础命令2(二) - 简书 (jianshu.com)

3.Linux基础命令2(三) - 简书 (jianshu.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值