Linux的xshell命令

1,Linux基本命令行的组成结构

2,Linux系统命令操作格式

命令 空格 参数 空格 需要处理的内容
rm   -rf   /tmp/*
ls   -la   /home
  1. 一般情况下(参数)是可选的,一些情况下(文件的路径)也是可选的
  2. 参数 > 同一个命令,跟上不同的参数执行不同的功能,执行Linux命令,添加参数的目的是让命令更加贴近实际工作的需要,Linux命令,参数之间,普遍应该用一个 或多个空格分割

3,创建一个目录/xuexue

  • mkdir xuexue    在root目录下创建xuexue文件夹
  • mkdir /xuexue   在根目录下创建xuexue文件夹
  • mkdir -p a/b c/d    递归创建文件夹
  • mkdir test{a,b,c,d}         递归创建四个目录
  • mkdir -p a/b/c/d/               递归创建文件夹

4,创建文件或者修改文件时间戳(文件属性)

  • 修改文件的更改时间,很多黑客就会在恶意修改文件之后再修改之前的时间
  • ls -l  查看所有文件夹
  • echo "xuexue" >> python.py    表示把xuexue这个字符串写到python.py中

5,stat命令(显示文件或文件系统的状态):

  • 用法: stat   [参数]   文件
  • 参数列表:
    • -L,  --dereference   跟随连接
    • -f.   --file-system     显示文件系统状态而非文件状态
    • -c   --format-格式    使用指定输出格式代替默认值,每用一次指定格式换一新行
    • --printf=格式             类似 --format,但是会解释反斜杠转义符,不使用换行作输出结尾,如果您仍希望 使用换行,可以在格式中加入" "
    •  -t,  --terse       使用简洁格式输出
      • --help       显示此帮助信息并退出
      • --version   显示版本信息并退出
  • 格式化输出参数:
    • %a     八进制权限
    • %A     用可读性较好的方式输出权限

  • 显示文件的权限
  • stat -c %a python.py
  • stat -c %A python.py

6,vim:所有的Unix Like系统都会内建vi编辑器,其他的文书编辑器则不一定会存在

但是目前我们使用比较多的是vim编辑器

vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,更方便程序的设计

  • vi vim:使用vi打开python.py默认是命令模式,需要输入a/i进入编辑模式,然后输入文本"Life is short,i use python"
  • 按下esc键,回到命令模式
  • 输入:wq!, 强制保存退出
  • w write 写入
  • q quit 退出
  • ! 强制
  • 或者:x 保存退出
  • :q 不保存退出
  • :q!  不保存强制退出

7,查看文件内容:cat命令用于查看纯文本内容(常用于内容比较少)

  • cat -n python.py    查看文件显示行号
  • cat python.py  直接查看文件内容
  • 在每一行的结尾加上$符

  • cat -E python.py
  • 追加文字到文件中

  • cat >> python.py << EOF
  • 世情薄,人情恶,雨送黄昏花易落,
  • 晓风干,泪痕残,欲笺心事,独语斜阑,
  • 难,难,难! 
  • EOF

8,more命令

  1. more命令用于查看内容较多的文本,列如要看一个很长的配置文件,cat查看内容屏幕会快速翻滚到结尾
  2. more命令查看文本会以百分比形式告知已经看到多少,使用回车键向下读取内容
  • more/etc/passwd
  • 按下空格键space是翻页
  • 按下b键上一页
  • 回车键向下读取内容

9,Linux的快捷键

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

10,echo命令:

  • echo命令用于在终端输出字符串或变量提取后的值,格式"echo[字符串|$变量]"
  • # 默认把内容显示到终端
  • echo "帅爆太阳的男人",
  • echo "帅爆太阳的男人" > python.py

11,特殊符号

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

12,赋值(拷贝的命令)

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

13,移动命令

  • mv /home

14,删除命令

  • 删除/ --->remove/  ---->rm
  • 参数:  -i   需要删除确认
  • 参数:  -f   强制删除
  • 参数:  -r   递归删除目录和内容

15,查找命令

格式:find  在哪里(目录)   什么类型(文件类型)   叫什么名字(文件名)

  • 参数: -name 按照文件名查找文件    -type查找某一类文件列如
    • b -块级设备文件
    • d -目录
    • c -字符串设备名称
    • p -管道文件
    • l -符号链接文件
    • s -socket文件
    • # 表示找出"xuexue".txt文件
      • find  -type f -name "xuexue".txt
    • # 找出所有以.txt结尾的文件
      • find -type f -name "*.txt"
    • # 找到当前目录下所有名字以host开头的文件
      • find -name "host*"
    • # 找到当前目录名为settings.py文件
      • find -name "settings.py" 

16,管道命令

Linux提供的管道符"|"是将两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入,常见用法:

  • # 检查python程序是否启动
  • ps -ef | grep "python"
  • # 找到test目录下的所有.txt文件

  • ls test|grep ".txt"

  • # 检查nginx的端口是否存活

  • netstat -tunlp |grep nginx

命令格式

grep:(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.

    • 语法:grep [参数]  [--color=auto]  [字符串]  filename
    • 参数详解:
    • -i:忽略大小写
    • -n: 输出行号
    • -v: 反向选择
    • --color = auto :给关键部分添加颜色
  • grep "我要找什么"  ./test/ python.py
  • # 排除 -v,排除我要找的东西

  • grep -v "我要找什么" ./test/ python.txt

16.1,head,tail命令

  • head显示文件前几行,默认前10行
  • tail显示文件后几行,默认后10行
  • # 查看 前 2行
  • head -2 /test/python.txt
  • #查看后2行
  • tail -2 /test/python.txt
  • 持续刷新显示
  • tail -f xx.log
  • #显示文件10-30行
  • head -30 /test/python.txt |tail -21

17,别名alias命令

Linux在使用rm(删除),cp(覆盖),mv(搬家)等命令的时候,必须非常小心,因为这些命令都是"炸弹",删库跑路,就是这么来的

  • 查看系统别名的命令:alias
  • 默认别名:

  • alias cp="cp -i"
  • alias egrep="egrep --color=auto"
  • alias fgrep="fgrep --color=auto"
  • alias grep="grep --color=auto"
  • alias l.="ls -d .* --color=auto"
  • alias ll="ls -l --color=auto"
  • alias ls="ls --color=auto"
  • alias mv="mv -i"
  • alias rm="rm -i"
  • alias which="alias | /usr/bin/which --tty-only --read-alias --show-dot --show-title"
  • 别名的作用:我们在Linux中使用cp时候相当于执行了cp -i
  • -i: 删除已有文件或目录之前先询问用户
  • # 别名用比较危险的操作,防止犯错

18,为rm设置别名

  • 让系统显示do not use rm
  • echo do not use rm
  • # 设置rm别名
  • alias  rm = "echo do not use rm"
  •  
  • # 设置别名永远生效,写入到etc/prodile(针对登录用户的客户,设置环境变量)

  • vim /etc/profile # 编辑文件
  • G 快速到达最后一行
  • O 当前行下一行,创建一个新行,进入编辑模式
  • source  /etc/profile# 读取文件,合同生效
  • 取消别名
  • unalias rm

19,which命令

which命令用于查找并显示给命令的绝对路径,环境变量PATH中保存了命令时需要遍历的目录.wgich指令会在环境变量$PATH设置的目录里查找符合条件的文件

也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行到那一位置的命令

which pwd

which python

查看到的都是绝对路径下的命令的位置

20,scp命令

Linux scp命令用于Linux之间复制文件和目录

scp 是 source copy的缩写,scp是linux系统下基于ssh登录进行安全的远程文件拷贝命令

  • 语法 :scp (可选参数)本地原文件 远程文件标记
  • 参数:
  • -r : 递归复制这个目录
  • -v : 详细方式输出
  • -q : 不显示出书进度条
  • -c :允许压缩

20.1,文件的传输

  • 传输本地文件到远程地址
  • scp 本地文件 远程用户@远程ip: 远程文件夹/
  • scp ./test/xuexue.txt root@192.168.21.8:/root/practice/
  • scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名

  • scp test/python.txt root@192.168.21.8:/practice/xuexue_python.txt
  • # 复制远程文件到本地

  • scp root@192.168..21.8:/root/practice/python.py  test/python.py
  • scp -r root@192.168.21.8:/test/python.py

  • 这个先得创建好python.py文件去接收

21,du命令

Linux中du命令显示目录或文件的大小

du会显示指定目录或文件所占用的磁盘大小

  • 用法:du (参数)  (文件或目录)
  • -s: 显示总计
  • -h以k,m,g为单位显示,可读性强
  • # 显示目录或文件所占空间,什么都不跟,代表显示当前目录所有文件大小
  • du
  • # 显示/home的总大小

  • du -sh /home

22,top命令: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: 虚拟机占用百分比
  • 第四行内存信息
    • 8053444 total: 物理内存总量
    • 7779224 used: 已使用的内存总量
    • 274220 free: 空闲的内存总量
    • 359212 buffers: 用做内核缓存的内存量
  • 第五行 :swap信息
  • 8265724 total:交换分区总量
  • 33840 used: 已使用的交换分区总量
  • 8231884 free :空闲交换区总量
  • 7358088 cached Mem: 缓冲的交换区总量,内存中的内容被换出到交换区,然后使用过的交换的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时,可不比再对交换区写入.

23,chattr命令

给文件加锁,只能写入数据,无法删除

  • chattr +a python.txt   #  加锁
  • chattr -a python.txt    #  解锁 

24,lasttr命令 

查看文件隐藏属性

lsattr test/python.txt

25,Linux时间同步

Linux的date命令可以显示当前时间或者设置系统时间

查看当前时间

  • 格式化输出时间
  • -d      --date=string   显示指定的时间,而不是当前时间
  • 以 年-月-日显示当前时间
  • date + "%Y-%m-%d"
  • 以年-月-日 时分秒 显示当前时间
  • date +"%Y-%m-%d %T"
  • 在Linux下系统时间和硬件时间不会自动同步,在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰.硬件时间的运行,是靠Bios电池来运行,而系统时间是CPU tick来维持的
  • 在系统开机的时候,会从Bios中获取硬件时间,设置系统时间

硬件始终的查看

  • hwclock
  • 同步系统时间和硬件时间,可以用hwclock命令

  • # 以系统时间为基准,修改硬件时间

  • # 以硬件时间为基准,修改系统时间

26,NTP时间服务器

时间对于人类来说是必不可少的,时间就是金钱,因此对于服务器时间额度把控非常重要,如果系统的时间不对,那么对于每一个文件的擦欧洲哦都是错误的

关于时间服务器的配置文件,有如下几种

  • /bin/date   用于Linux时间(软件时钟)的修改与显示的指令
  • /sbin/hwclock 用于BISO时钟(硬件时间)的修改与显示的命令,这是一个root才执行的命令,因为Linux系统上面BISO时间与Linux系统时间时分开的,所以使用date这个指令调整了时间之后,还需要使用hwclock才能将修改后的时间写入BISO当中!
  • /usr/sbin/ntpd 主要提供NTP服务的程序,配置文件为/etc/ntp.conf
  • /usr/sbin/ntpdate :用于客户端的时间的矫正.如果你没有要启用NTP而仅想用NTP Client功能,只会用到这个指令就好了

由于我们只需要用作客户端更新时间

ntpdate -u ntp.aliyun,com

27,wget命令

wget命令用于在终端下载网络文件

参数是wget(参数)下载地址

wget -r -p http:// www.xiaohua100.com  # 递归下载所有资源

28,开关机命令

reboot命令用于重启机器

poweroff用于关闭系统

 

原文地址:https://www.cnblogs.com/ljc-0923/p/10062906.html