开工第一天:Linux命令总结

Linux命令总结
     今天看了一个人的总结《IT工程师35岁过后》
 不知道大家有没有想过,一个工程师,怎么样才算“好”?会一种谁也不会的语言?懂一种谁也不懂的算法?知道一种谁也不知道的设计模式?……其实不是,至少我认为不是。
 一个优秀的工程师,他的气质是内实而外溢的。
  他基础扎实,多年的孜孜以求,使他的根须,又深又密,他可以汲取一切可以汲取的知识,来供给他枝繁叶茂的成长;
  他经验丰富,阅历广阔,见证了计算机技术的沧桑变迁,无论成功或失败,他都有所收获;
  他成竹在胸,所以淡定而从容,他没有什么抱怨,只有几许坚持.

  感悟:自己也超过35岁了,希望更多35岁以上的工程师不被淘汰,发挥自己的优势!为社会,为IT行业作出贡献。

  开工第一天,看到了测试老徐总结的Linux命令。作为测试十多年的员工来说,确实应该不断积累和总结。以下大部分转发老徐的内容,稍有修改,添加了自己工作中遇到的命令。

命令:系统相关
1.查看系统是什么版本
cat /etc/issue
2.查看cpu物理核
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
3.查看cpu逻辑核
cat /proc/cpuinfo| grep "processor"| wc -l
4.非root用户ssh到另外一台机器
ssh -p 36000 120.92.114.39 -l test
5.过滤#和空行,结果写入一个文件
touch deploy-portal.sh.jessica
egrep -v "#|^$"  deploy-portal.sh > deploy-portal.sh.jessica
6.查看文件md5sum值
md5sum 文件名
7.查看linux位数
getconf LONG_BIT
8.linux 系统log
tailf /var/log/messages
9.让新增加的用户test可以免密码切换到root
echo "test ALL=(ALL) NOPASSWD: ALL" >>  /etc/sudoers
test用户执行sudo -i即可切换到root用户
10.添加用户test,修改用户test的密码
useradd  test
passwd test

命令 cd
1. 如何进入上级目录
cd ..
2. 如何进入当前用户主目录
cd ~
3. 如何进入上两级目录
cd ../..
4. 进入当前目录命令
cd .
5. 如何进入目录 /data/hello2019
cd /data/hello2019

命令 mv (前提:当前用户有对相应目录的可操作权限,比如root用户操作)
1. 移动一个文件夹(hello2019文件夹,移动到/data/test目录)
mv ~/hello2019/ /data/test
2. 移动一个文件(hello2019.ini  移动到/data/test目录)
mv hello2019.ini  /data/test
3. 当前目录hello2019.tar.gz 移动到 /data/test 目录,并重命名为good2019.tar.gz
mv hello2019.tar.gz /data/test/good2019.tar.gz
4. 移动文件到上级目录
mv hello2019.tar.gz ../
5. 一条命令,移动两个文件 hello2019.tar test.tar 到目录 /data/test
mv hello2019.tar test.tar  -t /data/test

提示:shell脚本中mv少用,有时候会报错。cp -rf 就可以实现复制,使用cp -rf 和rm -rf 去代替mv

命令 cp
1. 复制当前目录部署包hello2019.tar.gz 到备份目录/data/test/bak 目录
cp hello2019.tar.gz /data/test/bak
2. 复制文件夹 hello2019 到部署目录 /data/test
cp -r hello2019/ /data/test

 

命令 mkdir
在目录/data/test 下,
cd /data/test
1. 新建一个文件夹 hello2019
mkdir hello2019
2. 新建三个文件夹 hello20191 hello20192 hello20193
mkdir hello20191 hello20192 hello20193
3. 新建一个多层级文件夹 test/20181230/01
mkdir -p test/20181230/01

命令 history
1. 查看历史命令执行记录
history
2. 查看命令mkdir 的历史执行记录
history | grep mkdir
3. 执行历史记录中,序号为178的命令
!178

命令 tail
1. 实时刷新log
tailf hello2019.log
提示:如果文件内容固定的情况下,默认显示最后10行记录。等同于tail -f -n 10
2. 实时刷新最新500条log
tail -500f hello2019.log

命令 tar
1. 压缩一个文件 hello2019.ini
tar -cvf hello2019.tar hello2019.ini
2. 压缩多个文件 hello2019.ini  readme.ini
tar -cvf all.tar hello2019.ini readme.ini
3. 压缩文件夹  hello2019/
tar -cvf hello2019.tar hello2019/
4. 将当前目录,所有jpg文件打包成hello2019jpg.tar
tar -cvf hello2019jpg.tar *.jpg
5. 将当前目录,所有jpg文件打包成hello2019jpg.tar.gz
tar -zcvf hello2019jpg.tar.gz *.jpg
6. 解压 hello2019jpg.tar
tar -xvf hello2019jpg.tar
7. 解压 hello2019jpg.tar.gz
tar -zxvf hello2019jpg.tar.gz

命令 zip/unzip
1.生成zip压缩
zip -r myfile.zip ./*
如:zip -r apache-ignite-2.7.0-bin.zip apache-ignite-2.7.0-bin
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.

2.unzip
1)unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;

2)war解压
 unzip -oq yacebao-collector.war -d yacebao-collector

命令 ls和ll
1. 列出当前目录中所有的子目录和文件。
ls
2. 列出目录下的所有文件(包含隐**件)
ls -a
3. 列出文件的详细信息(包括权限、所有者、文件大小等)
ls -l
4. 列出当前目录中所有以“hello2019”开头的详细内容
ls -l hello2019*
5. 显示大小,有单位
ll -h
6.按大小排序,从大到小
ll -Sh
7.按时间升序排列
ll -rt

命令 ps
1. 查看所有进程
ps -A
2. 查看java进程
ps -ef|grep java
3. 显示所有进程信息,连同命令行
ps -ef

命令 top
1. 显示进程信息
top
2. 监控每个逻辑CPU的状况
top  ,按 1
3. 高亮显示当前运行进程
top ,按 b
4. 显示 完整命令
top ,按 c
5. 退出top程序
按 q

命令wget
Linux系统中的wget是一个下载文件的工具,对于Linux用户是必不可少的工具
文件地址
http://51.hello2019.com/hello2019.png
1. 下载hello2019.jpg文件
wget http://51.hello2019.com/hello2019.png
2. 下载hello2019.jpg文件,并存储名为hello2019_Logo.jpg
wget -o hello2019_Logo.jpg http://51.hello2019.com/hello2019.png
3. 下载hello2019.jpg文件,后台形式下载
wget -b http://51.hello2019.com/hello2019.png
4.以用户名和密码下载
wget --http-user='username' --http-password='password' http://10.7.0.8:134/DOCPInstallation-4.2.0.tar.gz 

命令 find
1. 在/root/hello2019 目录及其子目录下面查找名字为hello2019.ini的文件
find /root/hello2019/ -name hello2019.ini
2. 在当前目录及其子目录中查找任何扩展名为“ini”的文件
find . -name "*.ini"
3. 在/root/hello2019目录下查找更改时间在5日以内的文件
find /root/hello2019/ -mtime +5
4. 在/root/hello2019目录下查找更改时间在3日以前的文件
find /root/hello2019/ -mtime -3
5. 在/root/hello2019目录下查找所有的目录
find . -type d
6. 在/root/hello2019目录下查找所有的文件
find /root/hello2019/ -type f

命令 继续find(进阶)
1. 在当前目录,所有的普通文件中搜索hello2019这个词
find ./ -type f |xargs grep "hello2019"
2. 在当前目录,删除1天以内的所有东西
find ./ -mtime -1 -print | xargs rm -rf
3. 在当前目录,删除10天以前的所有东西(实操的时候,需谨慎,确保在自己建的目录内,别把系统目录删了…)
find ./ -mtime +10 -print | xargs rm -rf
4. 删除文件大小为零的文件
find ./ -size 0 | xargs rm -rf

命令 rm
rm是常用的命令,该命令的功能为删除目录/文件(可同时删除,多个文件 / 多个目录)
当然,这也是一个非常危险的命令,建议少用(比如经常出现的误操作 rm * -rf 此命令慎用)
1. 删除/root/hello2019/目录下的文件hello2019.ini (系统会询问是否删除)
rm /root/hello2019/hello2019.ini
2. 强行删除/root/hello2019/目录下的文件hello2019.ini(直接删除,系统不会提示)
rm -f /root/hello2019/hello2019.ini
3. 删除/root/hello2019/目录下的所有.log文件
rm -f /root/hello2019/*.log
4. 删除/root/hello2019/目录下的 ido/文件夹
rm -r /root/hello2019/ido/
5. 强行删除/root/hello2019/目录下的 ido/文件夹
rm -rf /root/hello2019/ido/
6. 删除/root/hello2019/目录下的所有内容
rm -rf /root/hello2019/*

文件操作系列 命令
1. 创建文件,你知道有哪几个命令 ?(写出至少两种方式)
1) touch hello2019.ini
2) vi hello2019.md
3) echo ‘only test’  > hello2019.com
4) cp hello2019.ini hello2019666.ini
5) ls > fileList.txt
2. 同时创建文件 hello20196.ini test.ini
touch hello20196.ini test.ini
3. 同时创建2000个文件  hello20190001.ini  - hello20192000.ini
touch hello2019{0001..2000}.ini
4. 更改文件 hello2019.ini时间为当前时间
touch hello2019.ini

查看文件系列 命令
/**
命令提示
#cat  由第一行开始显示档案内容
#tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
#more 一页一页的显示档案内容
#less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
#head 只看头几行
#tail 只看尾巴几行
#nl   显示的时候,顺道输出 行号!
**/
1. 查看文件 hello2019.ini的内容
cat hello2019.ini
2. 看文件 hello2019.ini前20行内容
head -n 20 hello2019.ini
3. 看文件 hello2019.ini最后30行内容
tail -n 30 hello2019.ini
4. 显示文件hello2019.ini 的第10至20行的内容
head -n 20 hello2019.ini | tail -n 10
5. 倒序显示文件hello2019.ini 前10行的内容
tac hello2019.ini | head -n 10
6. 显示文件hello2019.ini 前10行的内容,并显示行号
nl hello2019.ini | head -n 10

命令 yum  &  scp
1. Linux下安装scp命令(假设是centos服务器,命令用yum)
yum install openssh-clients -y
-y就是免交互

命令scp
# 假设 当前服务器ip  10.0.0.1
1. 从Linux服务器10.0.0.2 拷贝文件hello2019.ini 到服务器10.0.0.1
scp root@10.0.0.2:/root/test/hello2019.ini /root/test
2. 从Linux服务器10.0.0.2 拷贝目录 hello2019/ 到服务器10.0.0.1
scp -r root@10.0.0.2:/root/test/hello2019/ /root/test

# 假设 当前服务器ip  10.0.0.3,
1. 从Linux服务器10.0.0.3 拷贝文件hello2019.ini 到服务器10.0.0.1 端口为36000
scp -P36000 /root/test/hello2019.ini root@10.0.0.1:/root/test

命令sftp
 sftp  -oPort=36000 root@10.0.1.242:/data
 put 文件名

命令clear/df/du/ifconfig
1. 查看当前服务器ip
ifconfig 或者ip a
2. 查看当前服务器硬盘空间
df -h
3. 查看目录hello2019/ 所占有的空间
du -sh hello2019
4. 清空当前终端屏幕
clear

命令 vi + chmod
/**
vi 创建文件 + 编辑文件 。
chmod命令用于改变linux系统文件或目录的访问权限 。
**/
1. 创建文件 hello2019.ini
vi hello2019.ini
2. 更新文件内容为“good2019"
输入 i ,进入编辑模式,输入内容,esc进入命令模式 :wq 保存 。
2. 将文件 hello2019.ini 设为所有人皆可读取
chmod +r hello2019.ini
3. 将 hello2019.ini 设定为只有该文件拥有者可以执行
chmod u+x hello2019.ini
4. 给文件 hello2019.ini 设置所有
chmod 777 hello2019.ini (或者 chmod a=rwx hello2019.ini)
注:chmod还有很多命令用法,如上几种,满足日常需求 。
5.vi中 :set nu  显示行数
6.G调入最后一行
7.dw删除一个词,删除一个具体的ip,7dw 如:10.0.0.1

命令:批量替换
1.把system.properties文件中所有的8080替换成8090
sed -i "s/8080/8090/g"  system.properties
如果遇到不会的百度搞定即可 。如果需要查看帮助, --help即可。如:tar --help

转老徐原文:https://mp.weixin.qq.com/s/sefGpxN3eJ4YmhDW52LQ9g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值