shell常用命令

一、shell常用命令

下面命令应用中,双引号可以不加;
<1>alias  给一个已经存放的文件取一个别名  (临时有效)
    alias  别名="源命令的名称"
    alias  dir_list='ls -l'  (空格不能要)
    unalias  取消一个别名
    unalias  dir_list;
在home/ubuntu/.bashrc中修改,重启一个终端,别名永远有效;


<2>环境变量:操作系统给我们提供的全局变量。(在任何一个终端,任何一个目录都是全局可见)
(1)PATH环境变量:若是我们需要执行默认命令的时候,系统默认会到PATH环境变量中路径找我们的书写命令。PATH环境变量
     存放的是一些路径。
     shell中系统提供的变量特点:
     a.常常大写。
     b.没有数据类型,可以直接使用。

(2)查看PATH环境变量的内容:
    echo $PATH
(3)把自己当前的路径到系统提供的环境变量中的方法:
    $PATH  引用原来系统已经存在的环境变量的值
    export PATH=$PATH:路径1:路径2:路径3
    a.例如:
    export PATH=$PATH:/home/ubuntu/work
    只在当前终端有效,同时加在/etc/profile或/home/ubuntu/.bashrc中,才能在其他终端中有效;
    原理:
    当我们执行一个命令的时候,系统默认会在PATH环境变量中找我们的输入的命令的源文件。
/home/ubuntu/.bashrc  shell的一个配置,当我们每次开启一个终端的时候时候,都会执行一遍,是用来初始化shell运行的环境。

<3>linux常见的命令
    (1)pwd 
    (2)cd 
    (3)ls
    (4)cp  复制文件/文件夹到另一个路径下
    例如: cp hello.c  /home/ubuntu   把hello.c 复制到/home/ubuntu目录下
                cp dir_list /home/ubuntu -a  把dir_list文件夹复制到/home/ubuntu目录下
    (5)mv  移动文件/文件夹到另一个路径下
    例如:
       mv hello.c  /home/ubuntu   把hello.c 复制到/home/ubuntu目录下
       mv dir_list /home/ubuntu  把dir_list文件夹复制到/home/ubuntu目录下
       mv hello.c world.c  把当前目录下的hello.c重命名为world.c 
   (6)cat 显示文件的内容
   例如:
     cat hello.c 显示hello.c文件的内容
     cat -n hello.c  带行号显示hello.c文件的内容
  (7)rm  删除文件
  参数:
    -r  删除文件夹
    -f  强制执行
 常用:
    rm hello.c 删除hello.c这个文件
    rm -rf dir_list 删除dir_list这个文件夹


<4>linx进阶命令
    (1)grep  从文件中搜索字符串
    格式:grep  "搜索的字符串"  文件名
   例如: 在/etc/passwd中查找“xt”
   grep "xt" /etc/passwd
   常用参数:
   a.搜索file文件中,以"string"开头的行
   例如:    grep "^string" file 
   b.搜索file文件中,以"string"结尾的行
   例如: grep "string$" file 
   c.搜索file文件中,只包含“string”的行
   例如:grep "^string$" file     
   d.在搜索文件的时候,同时显示行号
   例如:grep "xt" -n /etc/passwd
   习惯的用法:
   e.在当前目录下所有的文件中搜索"main"(包括子目录)
   grep "main" * -nR

   (2)find :在指定路径下搜索文件
   常用:
   find 路径 -name  文件名
  例如:find /home/chw -name test.c  

(3)管道链接符"|" ->将一个命令的输出当作另一个命令的输入
  (理解:后一个命令的操作,在前一个名来的基础上进行的。)
   例如:cat /etc/passwd | grep "chw" 
    ls  /usr/include | grep "stdio.h"
    ls  /home/ubuntu | grep "test.c"

(4)wc :统计 行数 单词的个数 字节数
参数:
-l   显示一个文件的行数
-w   显示一个文件的单词个数
-c   显示一个文件的字节数

(5)head 显示文件头n行的内容
head  -行数 文件名 
例如:
head -10  /etc/passwd 

(6)tail  显示文件最后n行的内容
tail -行数  文件名
例如:
tail -1 /etc/passwd 显示最后一行的内容
tail -2 /etc/passwd 显示倒数两行的内容
思考:如何显示第10行的内容?(只显示第10行的内容)
head -10 /etc/passwd | tail -1

(7)cut : 字符串裁剪命令
注:改命令一般与管道一起使用。
格式:
cut -d "分割字符" -f 字段
参数:
-d    指定我们的分割字符
-f    指定我们显示的区域
例如:
cat /etc/passwd | grep "ubuntu" | cut -d ":" -f 1,2,3 
得到结果:ubuntu:x:1001

(8)echo  先屏幕上输出信息
等价于puts("hello wold");
echo "hello world"  想屏幕上输出“hello world”

(9)su  切换用户
格式: sudo  su  用户名   切换到其他用户


<5>shell中的通配符讲解
(1)含义:shell通用的匹配符号,我们叫做通配符。
(2)常用符号:
*        匹配任意长度的字符串  例如:ls file_*.c
?       匹配一个字符              例如: ls  file_?.c 
[..]    匹配输入其中指定的一个字符,全部列出来选择一个使用 例如: file_[abc].c
[起始-终止]  匹配一个字符范围   例如: file_[a-z].c file[1-9].c
[^..]   匹配除了指定字符意外的单个字符  例如: file[^abc].c


<6>输入/输出重定向
默认输入:键盘
默认输出:显示器
含义:改变默认的输入和输出方式,把本来应该输入到屏幕的上的内容,该输出到其他的位置。(文件) 
(1)输出重定向(>)
含义:改变默认输出方式。把本来应该输出到屏幕的上的正确的内容,该输出到其他的位置。
格式: 输出到屏幕上的信息 >  新的文件名
例如:
echo "hello world" > log [重定向之前,会先把文件的内容给清除掉]
echo "welcome to handsom" >> log [以追加的方式在下一行中写入数据]
ls > log 
pwd  > log 
grep "ubuntu" /etc/passwd  > log

(2)输入重定向(<)
含义:改变默认输入方式。把本来应该从键盘获取的信息,该输出到其他的位置。(文件) 
wall  给当前所有的用户发送广播消息    ,当输入完成后,按下回车表示输入结束按下ctrl + d,给所有的用户发送消息
wall < log  把文件中的内容发送给其他用户      
练习:
1. 通过echo 命令把“Good Good study,Day Day up”写到 log.txt文件中
2. 开启一个新的终端,利用su命令切换一个新的用户
3. 通过wall命令把log.txt文件的内容发送给其他用户

(3)出错重定向(2>)
含义:改变默认输出方式。把本来应该输出到屏幕的上的错误的内容,该输出到其他的位置。
格式: 输出到屏幕上的错误信息2>  新的文件名
例如:
ls  dasfadsfdafadsf.txt  > log  (该文件不存在,系统会提示错误,把错误的消息输出到文件中)


<7>命令置换
含义: 将一个命令的输出当作另外一个命令的参数。
格式:command1 `command2`
注:这里的符号不是单引号,而是反撇号,esc下面那个键。
例如:
find `pwd` -name "hello.c"
ls `pwd`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

屁小猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值