Shell基本命令

Shell基本命令


目录命令

pwd 查看当前目录
ls 查看目录上的内容

目录结构
在这里插入图片描述创建目录

make directory > mk dir > mkdir
-------------------------------
mkdir /oldboy
-------------------------------
cd /
mkdir oldboy

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

#触摸
touch xxx.py

编辑文件

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

在这里插入图片描述
打包压缩
在这里插入图片描述

查看文件内容

#猫,查看文件
cat xxx.py
#追加文字到文件
cat a.txt >> /tmp/oldboy.txt 
#一次性加载全部内容,但分页显示
more + 文件名 
# 一次性只加载一页,缓存一页,分页显示
less + 文件名

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

显示输入内容到终端

#默认把内容显示到终端上    
echo "hello world"
#把内容写到文件
echo "hello world" > /tmp/chaoge.txt

特殊符号

重定向符号
1.>>    追加重定向,把文字追加到文件的结尾
2.>     重定向符号,清空原文件所有内容,然后把文字覆盖到文件末尾
echo "oldboy-python666" > /tmp/oldboy.txt
echo "chaoge666" >> /tmp/oldboy.txt
------------------------------------
我想把命令执行的结果信息,写入到文件中
ip addr > /tmp/network.txt   #标准输出重定向 把命令执行结果信息,放入到文件中

复制(拷贝)命令

复制 > copy > cp
#移动xxx.py到/tmp目录下
cp xxx.py /tmp/
#移动xxx.py顺便改名为chaoge.py
cp xxx.py /tmp/chaoge.py

Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数) 
cp -r 递归,复制目录以及目录的子孙后代
cp -p 复制文件,同时保持文件属性不变
cp -a 相当于-pdr

cp是个好命令,操作文件前,先备份
cp main.py main.py.bak

移动命令

移动(搬家)命令  > move > mv

cd /home
#把老男孩从沙河这破地方,搬到朝阳去
mv /home/shahe/oldboy /tmp/chaoyang

删除命令

删除  > remove > rm
cd /tmp
rm hello.py
#默认有提示删除,需要输入y
rm -f hello.py #不需要提示,强制删除
#rm默认无法删除目录,需要跟上参数-r
rm -rf /opt/hello/

查找命令

#Linux里如何找到需要的文件 例如 hello.py
find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
find /tmp/ -type f  -name "hello.py"

#找出所有以 .txt 结尾的文件
find /tmp/ -type f -name "*.txt"

管道命令

Linux提供的管道符“|”讲两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。
常见用法:
#检查python程序是否启动
ps -ef|grep "svn"
find /tmp/ -type f -name "hello.txt"|xargs ls -l

grep

语法:
grep [参数] [--color=auto] [字符串] filename
参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
--color = auto : 给关键词部分添加颜色

grep "hello world" /opt/hello.txt
#排除 -v,排除我要找的东西
grep -v "我要找什么 /opt/hello.txt

在这里插入图片描述

awk
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。

语法:

awk [option] 'script' var = value filename
awk [options] -f scriptfile var=value filename

常用命令选项:

-F fs   fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:
-v var=value   赋值一个用户定义变量,将外部变量传递给awk
-f scripfile  从脚本文件中读取awk命令
-m[fr] val   对val值设置内在限制,-mf选项限制分配给val的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。

实例:

#NR  > 行号
awk 'NR==20,NR==30' /tmp/oldboy.txt

which命令

which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

参数:
-n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
-w  指定输出时栏位的宽度。
-V  显示版本信息。

示例:
which pwd
which ls

seq命令

语法
seq [选项]... 尾数
seq [选项]... 首数 尾数
seq [选项]... 首数 增量 尾数

参数
-f, --format=格式        使用printf 样式的浮点格式
-s, --separator=字符串   使用指定字符串分隔数字(默认使用:\n)
-w, --equal-width        在列前添加0 使得宽度相同

示例
#显示1-50整数
seq 50
#以0000方式显示9-11区间整数
seq  -f "%04g" 9 11
#以000方式显示1-100区间整数
seq -f "%03g" 1 100

scp命令
Linux scp命令用于Linux之间复制文件和目录。
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

语法
scp 【可选参数】 本地源文件 远程文件标记

参数
-r :递归复制整个目录
-v:详细方式输出
-q:不显示传输进度条
-C:允许压缩

实例
#传输本地文件到远程地址
scp 本地文件  远程用户名@远程ip:远程文件夹/
scp 本地文件  远程用户名@远程ip:远程文件夹/远程文件名

scp /tmp/chaoge.py root@192.168.1.155:/home/
scp /tmp/chaoge.py root@192.168.1.155:/home/chaoge_python.py

scp -r  本地文件夹  远程用户名@远程ip:远程文件夹/
scp -r /tmp/oldboy root@192.168.1.155:/home/oldboy

#复制远程文件到本地
scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt
scp -r root@192.168.1.155:/home/oldboy /home/

修改文件权限
在这里插入图片描述
修改文件所有权
在这里插入图片描述 统计文件或文件夹的大小
在这里插入图片描述
时间日期命令

cal : 显示日历 
-1 显示一个月的月历

    -3 显示系统前一个月,当前月,下一个月的月历

    -s  显示星期天为一个星期的第一天,默认的格式

    -m 显示星期一为一个星期的第一天

    -j  显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)

    -y  显示当前年份的日历的所有年月份 

在这里插入图片描述

date  :  设定 和 显示日期
date MMDDhhmm[cc]YY.ss
  date[+FORMAT]
  %Y:四位年份
  %y:两位年份
  %m:月
  %M:分钟
  %d:日
  %h:英文简写的月
  %H:时
  %S:秒
  %s:现在距离1970年1月1号0点0分(unix元年)的秒数,timestamp(时间戳)
  %D:月//年
  %F:年--日
  %T:时:分:秒

hwclock

  -s:以硬件时钟为准 --hctosys
  -w以软件时钟为准 --systohc
  Linux有两个时钟
  硬件时钟:
  软件时钟:开机时读取硬件时钟

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值