一 linux 命令行的组成结构

自定义命令行结构

PS1变量来控制

\u
\W 最后一位工作目录
\w 绝对路径工作目录
\t 显示24h制的时间
\h PS1="[\u@\h \w \t]\$"

更改主机名,退出会话后生效
hostnamectl set-hostname qishione

效果

[root@qishione /tmp 08:58:40]$cat  >>kun.day<< EOF

二 linux 系统命令操作语法格式

1.一般情况下,【参数】是可选的,一些情况下【文件或路径】也是可选的

2.参数 > 同一个命令,跟上不同的参数执行不同的功能

三 创建一个目录  /oldboy

mkdir oldboy

#递归创建a/b   c/d
mkdir -p a/b c/d #递归创建test/a,b,c,d四个目录
mkdir -p test/{a,b,c,d} #递归创建文件夹a/b/c/d/e
mkdir -p a/b/c/d/e

四 查看/oldboy

#显示/oldboy下的内容
ls /oldboy

五 改变当前的目录和位置

cd /home
cd ~
cd -

六 常见文本或者修改文件的时间戳(文件属性)

#修改文件的更改时间,很多黑客就会在恶意修改文件之后再修改成之前的时间
ls -l
echo 'sb' >> xxx.py #追加写入到文件
touch -t'' 1.txt #触摸
touch xxx.py #创建文件

七 stat 命令

显示文件或文件系统的状态。
#用法 stat  [参数]  文件
参数列表:
 -L, --dereference     跟随链接
  -f, --file-system     显示文件系统状态而非文件状态
  -c --format=格式      使用指定输出格式代替默认值,每用一次指定格式换一新行
      --printf=格式     类似 --format,但是会解释反斜杠转义符,不使用换行作
                                输出结尾。如果您仍希望使用换行,可以在格式中
                                加入"\n"
  -t, --terse           使用简洁格式输出
      --help            显示此帮助信息并退出
      --version         显示版本信息并退出
[root@qishione tmp]# stat -L text.txt

  File: ‘text.txt’
Size: 89 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d    Inode: 17348002    Links: 1
(权限)Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
(最近访问)Access: 2018-07-10 15:30:00.000000000 +0800
(最近更改)Modify: 2018-07-10 15:30:00.000000000 +0800
(最近改动)Change: 2018-11-07 15:38:36.400989868 +0800
Birth: - #实例2,显示文件权限

  [root@master tmp]# stat -c %a 1.txt
  644
  [root@master tmp]# stat -c %A 1.txt
  -rw-r--r--

八 vim

vim在命令模式下
输入 a/i/o都是进入编辑模式
i 进入编辑模式
o 在光标所在的下一行,进行编辑
a 在光标所在字符的后面一个,字符,开始编辑
$ 快速进入 当前行的结尾
0 快速进入当前行的 行首 yy 光标在哪一行,输入yy就是复制这一行
p 复制了这一行之后,输入p进行打印刚才的 复制 7yy 就是复制光标当前所在行,及以下的 7行
p 粘贴刚才复制的7行 g 回到文件,第一行
G 回到文件的,末行 :行号 快速定位到哪一行 /字符串 快速查找你想查找的内容 向下查找 n
?字符串 快速查找你的内容,向上查找 n dd 删除光标所在行
2dd 删除光标所在的2行数据
dG 清空光标所在行以下的内容 u 撤销上一次的动作 x 删除光标所在的字符 :set nu 显示vim的行号

8.1 查看文件cat

#查看文件,显示行号
cat -n xxx.py #在每一行的结尾加上$符
[root@master tmp]# cat -E 1.txt #追加文字到文件
cat >>/tmp/oldboy.txt << EOF
唧唧复唧唧
木兰开飞机
开的什么机
波音747
EOF

8.2 查看文件more

  大文件推荐使用more,空格翻页

more /etc/passwd
按下空格space是翻页
按下b键是上一页
回车键向下读取内容

九 linux 快捷键

1.tab键    用于自动补全命令/文件名/目录名
2.ctrl + l  清理终端显示
3.clear/cls 清理终端显示
4.ctrl + c 终止当前操作

十 echo

#默认吧内容显示到终端上
echo "超哥666" echo '你好帅!' > shuai.txt 重定向到文件

十一 特殊符号

输入/输出 重定向符号
  • 1 >> 追加重定向,把文字追加到文件的结尾
  • 2 > 重定向符号,清空原文件所有内容,然后把文字覆盖到文件末尾
  • 3 < 输入重定向
  • 4 << 将输入结果输入重定向
通配符  * :
ls -l /etc/us*

echo "oldboy-python666" > /tmp/oldboy.txt
echo "chaoge666" >> /tmp/oldboy.txt
cat >>/tmp/oldboy.txt << EOF

十二 拷贝命令cp

#移动xxx.py到/tmp目录下
cp xxx.py /tmp/
#移动xxx.py顺便改名为chaoge.py
cp xxx.py /tmp/chaoge.py
Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数)
cp -r 递归,复制目录以及目录的子孙后代
cp -p 复制文件,同时保持文件属性不变 可以用stat
cp -a 相当于-pdr
#递归复制test文件夹,为test2
cp -r test test2 cp是个好命令,操作文件前,先备份
cp main.py main.py.bak

十三 移动命令mv

#把老男孩从沙河这破地方,搬到朝阳去
mv /home/shahe/oldboy /tmp/chaoyang 文件/文件夹改名
mv x.log xx.log

十四 删除命令

删除  > remove > rm
参数 -i 需要删除确认
   -f 强制删除
-r 递归删除目录和内容
rm oldboy.py
#默认有提示删除,需要输入y
rm -f oldboy.py #不需要提示,强制删除
#rm默认无法删除目录,需要跟上参数-r
rm -rf /tmp/oldboy/

十五 查找命令find

find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
参数
-name 按照文件名查找文件
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
find /tmp/ -type f  -name "oldboy.py"

#找出/tmp所有以 .txt 结尾的文件
find /tmp/ -type f -name "*.txt" #找到/etc下所有名字以host开头的文件
find /etc -name 'host*' #找到/opt上一个名为settings.py
find /opt -name 'settings.py'

十六 管道命令 |

  

管道符左边命令的输出会作为管道符右边命令的输入。

#检查python程序是否启动
ps -ef|grep "python" #找到/tmp目录下所有txt文件
ls /tmp|grep '.txt' #检查nginx的端口是否存活
netstat -tunlp |grep nginx

十七 grep过滤详解

  它能使用正则表达式搜索文本,并把匹配的行打印出来。

语法:
grep [参数] [--color=auto] [字符串] filename
参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择 --color = auto : 给关键词部分添加颜色
grep "我要找什么" /tmp/oldboy.txt
#排除 -v,排除我要找的东西
grep -v "我要找什么 /tmp/oldboy.txt
#例题,找出/etc/passwd下root用户所在行,以及行号,显示颜色
cat /etc/passwd |grep '^root' --color=auto -n #找出/etc/passwd所有不允许登录的用户
grep /sbin/nologin /etc/passwd #找到/etc/passwd的所有与mysql有关行,行号
cat /etc/passwd |grep 'mysql' -n

十八 取数据条数命令head 、tail

head显示文件前几行,默认前10行
tail显示文件后几行,默认后10行
#显示文件10-30行
head -30 /tmp/oldboy.txt |tail -21

十九 别名alias命令

alias rm='我是别名的描述'

别名作用是:

我们在linux中使用cp时候相当于执行了cp -i
-i:删除已有文件或目录之前先询问用户; #别名用比较危险的操作,防止你犯错 unalias rm #去除别名

二十 which 命令

which python       #python命令在哪
/usr/bin/python #命令文件绝对路径

二十一 文件传输 scp

#传输本地文件到远程地址
scp 本地文件 远程用户名@远程ip:远程文件夹/
scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名
把自己机器上的文件,发送给了别人
scp ./mimiwenjian.txt 192.168.11.101:/tmp/pyyu/ #文件夹传输
scp -r 参数 可以递归传输整个目录
scp -r luffy/ root@192.168.11.101:/tmp/pyyu #传输文件夹需要加 -f 把别人的东西,给偷过来
#scp命令 你想要的东西,叶可以是远程主机的资料 放到自己机器的某个绝对路径
scp root@192.168.11.101:/tmp/yum.log /tmp/

二十二 查看文件大小du -sh ,ls -lh

用法
du 【参数】【文件或目录】
  -s 显示总计
  -h 以k,M,G为单位显示,可读性强
ls -lh  第一种方法
-l 以列表形式,显示详细文件和文件夹信息
-h 以友好的单位形式,给用户看 kb mb gb tb pb

二十三 动态地监视进程活动与系统负载等信息 top

统计信息区

第一行 (uptime)
系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载
第二行:进程信息
进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数
第三行:cpu信息
1.5 us:用户空间所占CPU百分比
0.9 sy:内核空间占用CPU百分比
0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
97.5 id:空闲CPU百分比
0.2 wa:等待输入输出的CPU时间百分比
0.0 hi:硬件CPU中断占用百分比
0.0 si:软中断占用百分比
0.0 st:虚拟机占用百分比
第四行:内存信息(与第五行的信息类似与free命令) 8053444 total:物理内存总量
7779224 used:已使用的内存总量
274220 free:空闲的内存总量(free+used=total)
359212 buffers:用作内核缓存的内存量
第五行:swap信息
8265724 total:交换分区总量
33840 used:已使用的交换分区总量
8231884 free:空闲交换区总量
4358088 cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。

二十四 给文件加锁chattr

chattr +a test.py  #加a锁
chattr -a test.py #去除a锁

二十五 关闭防火墙实现linux 之间的数据传输

1.关闭linux防火墙,linux防火墙用于控制 程序端口的,出入规则,
iptables -F 清空防火墙,为了实验方便
iptables -L 查看防火墙规则
永久关闭防火墙,防止下次开机自启
systemctl stop/start/restart firewalld #关闭firewalld服务,此条命令,下次开机还会自启
systemctl disable/enable - firewalld #永久关闭防火墙,开启自启 2.关闭系统自带的,美国航空局的selinux
getenforce 获取selinux状态 如果是 Enforcing就是开启状态
setenforce 0 临时关闭selinux

二十六 linux 时间同步 date hwclock

通过date命令可以查看系统时间 ,查看的是软件时钟
硬件主板的时钟信息
hwclock 如果时间不正确,或者不精确,可以与时间服务器同步
使用命令 ntpdate 与阿里云的时间服务器同步
ntpdate -u ntp.aliyun.com //以系统时间为基准,修改硬件时间
[root@oldboy_python ~ 10:29:07]#hwclock -w //以硬件时间为基准,修改系统时间
[root@oldboy_python ~ 10:29:21]#hwclock -s

二十七 在线下载命令 wget

wget命令用于在终端下载网络文件
参数是 wget [参数] 下载地址
wget -r -p http://www.luffycity.com#递归下载路飞所有资源,保存到www.luffycity.com文件中

二十八 开关机命令

reboot命令用于重启机器
poweroff用于关闭系统

超哥笔记--shell 基本命令(4)的更多相关文章

  1. 超哥笔记 -- 用户管理、权限设置、进程管理、中文配置、计划任务和yum源配置(5)

    一 网卡配置 ifconfig 查询.设置网卡和ip等参数 ifup,ifdown    脚本命令,更简单的方式启动关闭网络 ip 符合指令,直接修改上述功能 网络配置文件: /etc/sysconf ...

  2. 超哥笔记 --nginx入门(6)

    一 NGINX 1 nignx是什么 nginx是一个开源的支持高性能,高并发的web服务和代理服务软件. nginx比他大哥apache性能改进许多,nginx占用的系统资源更少,支持高并发连接,有 ...

  3. 超哥笔记--linux准备知识(1)

    一 岗位 前端小姐姐 python后端大神 测试工程师 测试+python 测试开发 运维工程师(背锅侠) -安全运维 -linux系统管理员 -桌面运维(helpdesk) -IDC机房运维(服务器 ...

  4. shell 基本命令

    Shell基本命令   前言 前面咱们已经成功安装了Linux系统--centos7,那么现在跟着超哥奔向Linux的大门. Linux命令行的组成结构 [root@oldboy_python ~]# ...

  5. 运维 05 Shell基本命令

    Shell基本命令   前言 前面咱们已经成功安装了Linux系统--centos7,那么现在跟着超哥奔向Linux的大门. Linux命令行的组成结构 [root@oldboy_python ~]# ...

  6. 《The Linux Command Line》 读书笔记01 基本命令介绍

    <The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...

  7. 超哥教你发布CRM

    发布CRM你将使用以下软件 nginx uWSGI CentOS7 CRM项目文件 virtualenv supervisor WSGI.uWSGI python web服务器开发使用WSGI协议(W ...

  8. shell基本命令

    linux基本命令和shell基本命令,好多人傻傻分不清. linux基本命令积累如下: pwd:显示当前工作目录 cd:改变当前目录 ls:显示当前目录中所有目录文件和文本文件 ls -F:显示当前 ...

  9. 清晰易懂!关于PS入门的超详细笔记!

    给大家分享一篇关于PS入门的超详细笔记!原理讲解清晰明了,虽不是新版本解析,但都是新手学习PS必掌懂的一些知识点,灰常的实用,转走收藏学习! 编辑:千锋UI设计 来源:PS学堂

随机推荐

  1. C# for Python(Nugut Iron包)

    cInronPython是一种在.NET和Mono上实现的Python语言,使用InronPython就可以在.NET环境中调用Python代码 安装InronPython Python: port ...

  2. Redis的应用场景

    最近做了个小项目是WebForm 做着做着发现前台的首页读取速度很慢,并且多个用户同时访问我的Sqlserver承受不住!之后就想到了Redis 代码如下: /// <summary> / ...

  3. 关于QT下资源使用和资源占用…

    原文地址:关于QT下资源使用和资源占用内存过多的问题作者:技术成就梦想     最近研究了一下如何从外部动态调用图片的问题,从而研究了图片资源的使用方法.网上最常见的帖子是这个,感觉总结的还不错. h ...

  4. JDK1.8源码(一)——java.util.ArrayList

      ArrayList 定义 ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复. public class ArrayList<E> extends Abstr ...

  5. VueJs 监听 window.resize 方法

    Vuejs 本身就是一个 MVVM 的框架. 但是在监听 window 上的 事件 时,往往会显得 力不从心. 比如 这次是 window.resize 恩,我做之前也是百度了一下.看到大家伙都为这个 ...

  6. 重写equals的详细说明

    返回目录 原文地址Java equals() 方法总结 equals() 超类 Object 中有这个 equals() 方法,该方法主要用于比较两个对象是否相等.该方法的源码如下: public b ...

  7. Mybatis学习笔记之二(动态mapper开发和spring-mybatis整合)

    一.输入映射和输出映射 1.1 parameterType(输入类型) [传递简单类型] 详情参考Mybatis学习笔记之一(环境搭建和入门案例介绍) 使用#{}占位符,或者${}进行sql拼接. [ ...

  8. 【Vue.js】vue基础: 3种Class和Style绑定语法

    凡是用到了v-bind,那就一定有变量的存在,下面是三种语法的展示: 1. 对象语法: v-bind:class="{active: isActive, 'text-danger': has ...

  9. k8s运行容器之Job(四)--技术流ken

    Job 容器按照持续运行的时间可分为两类:服务类容器和工作类容器. 服务类容器通常持续提供服务,需要一直运行,比如 http server,daemon 等.工作类容器则是一次性任务,比如批处理程序, ...

  10. MySQL 8.0版本连接报错:Could not create connection to database server.

    准备搭建一个Spring Boot 组合mybatis的项目,数据库采用的是MySQL 8.0.11按照以往的配置,使用插件mybatis-generator-maven-plugin生成代码时,一直 ...