5.shell基本命令

1、shell:是一个命令行解释器,将用户命令解释为操作系统所能理解的指令,实现用户与操作系统的交互。
2、主流shell:sh、csh、ksh、bash。
3、命令三要素:命令名称、选项、参数(注意:命令名称必须放在三要素的最前面,对于大部分命令,选项及参数可以互换。通常情况下,选项前面会出现一个-)
4、history:查询历史命令           echo  $变量:打印变量           重启配置文件:source 配置文件名              alias:命令别名=‘命令名称‘(在终端上执行,作用范围限于当前终端,用于改命令名字。若想实现任何终端都识别命令别名:将alias命令放在~/.bashrc文件中,然后通过source命令重启文件)
5、ls -a:显示当前终端所以文件          -sh:显示文件大小(不满足4K要以4K显示)       -R:从当前目录开始递归显示所有子目录内容          -i:查看inode节点            
-l:列出文件详细信息   以下为某一个文件详细信息各部分解释
  d文件类型( -普通文件 b块设备文件   c字符设备文件   d目录文件      l软链接文件   p有名管道文件  s套接字文件)
rwx用户权限{r可读 w可写 x可执行    用户八进制表示)
rwx用户组权限
r-x其他用户权限
2硬件链接个数
linux用户
Linux用户组
4096文件大小
时间:时间戳(文件最后一次修改时间)
rm -rf * 删除当前目录下所有文件           ls -l ?.c 匹配一个字符.c文件        ls -l *.c 匹配任意长度字符.c文件
6、管道:| 在内核空间创建的一片区域(特性:用来传输数据,管道有两端)       使用:命令1 | 命令2 |命令3 | ......(注意:使用管道之前先确定左端的命令1单独执行的时候在左端有没有输出,有输出就可以使用管道)
7、wc 用来统计
-c用来统计字节数   -l统计行数     -w统计单词个数
8、重定向符号 :左端一定是命令  重定向符号   右端一定是文件名
1)输出重定向   >文件名:本来应该写到终端的数据被写入了文件中,如果重定向文件不存在,就先创建文件
2)输出重定向追加模式    >>文件名:   如果重定向文件不存在,就先创建文件件 ;如果存在,则从文件尾部写入
3)输入重定向 <文件名:
4)错误输出重定向2>(&>)文件名:将由命令产生的错误信息输入到一个文件中(文件描述符:0,1,2)
9、管道与重定向符号的区分:
1):管道左右两边都是命令,重定向左端是命令,右边是文件
2):重定向符号左端命令可读可写
10、命令置换符··:一条命令的输出作为另一条命令的参数
绝对路径:一定以跟目录为起点
相对路径:任意路径作为起点
(注意:写、打印、输出同一概念   读、输入同一概念)
11、cat  -n 文本文件:显示文本文件 
12、mv 源文件   路径:移动文件
13、mkdir -p ./a/b/c:递归创建文件夹
14、cd -:返回到上一次的操作路径
15、grep “^字符串$" 路径   -R  -n:递归搜索以字符串开头和结尾的字符串,并显示行号                    注意:搜索的是文件内部的字符串
16、ps:查询进程号     ps -ef  | grep"字符串"     注意:这里的字符串是进程名字
17、输出一个文件的第六行:cat note.txt |head -6 |tail -1
18、cut 文件名  -d '分隔符'  -f 字段编号:取出分隔符前面或后面的部分
19、find -name  文件名:从当前目录下搜索文件位置
20、diff 文件1  文件2:比较两个文件是否相同
21、打补丁:
1、diff -ruN old new > patch.diff
注意:老版本放在前面

选项r:递归子目录
    u:同意两个版本的格式
    N:保证补丁文件的正确修改

2、切换到老版本
patch -p1 < ../patch.diff

还原补丁:patch -Rp1 < ../patch.diff

echo 字符串
1、如果字符串中出现多个连续空格,并且需求为输出多个空格,在字符串外围加双引号
2、如果字符串中出现多个连续空格,并且需求为输出一个空格,在字符串外围不加双引号

echo $变量

环境变量:PATH 存放的是shell的默认搜索路径

如果某一条命令不能使用:比如ls不能使用
1、which ls 
2、export PATH=$PATH:ls命令的绝对路径
上面的情况只适合当前终端生效。
3、使一个命令永久生效:将export PATH=$PATH:绝对路径 添加到/etc/bash.bashrc文件中,最后使用source /etc/bash.bashrc 重启文件
修改权限:1、chmod 八进制 文件名

2、chmod u/g/o/a+/-权限 文件名    注意:+或者-的两边不能出现空格
如果目录没有读权限,不能正常查看目录下内容
如果目录没有写权限,不能正常在目录下创建子文件
如果目录没有执行权限,不能正常切换目录

获取帮助:man(最全的) info(特殊问题) --help(简易手册)
    man 1 shell命令或者可执行程序
    man 2 内核函数或者系统调用
    man 3 库函数

info 命令
命令 --help

sudo reboot重启

切换用户:su 用户名  
退出用户时一定要使用exit退出
知识点补充:
1、wall 对全部已登录的用户发送信息  write 向系统中某一用户发送消息(需要超级用户权限)
2、mesg 设定是否允许接受其他用户给自己发送的消息
3、sync 将内存中的数据写回硬盘,并释放内存,通常在关闭linux系统前使用
4、shutdown 关闭或重启系统(需要超级用户权限)
5、date (-s) 显示系统时间(设置系统时间)
6、pwd 显示用户在文件系统中的当前位置cd
7、cd / 返回跟目录  cd .. 返回上一级目录  cd ../.. 返回上两级目录
8、file 判定文件类型
tar  归档文件名   一系列待归档文件名  作用:将一系列文件归档
9、zip 与unzip:(以下待压缩文件均以1.c举例)
1)zip 1.zip  1.c     作用: 压缩文件  
2)unzip  1.zip     作用:解压文件
10、gzip与gunzip
1)gzip  1.gz  1.c    作用:压缩文件
2)gunzip  1.gz    作用:解压文件
11、bzip2与bunzip2
1)bzip2  -d 1.bz2 
2)bunzip    -d 1.bz2  
注意9.10.11压缩方式均不能对目录进行压缩
12 、一步打包压缩:tar  -czvf  1.c.tar.gz   1.c
一步拆包解压:tar -xzvf  1.c.tar.gz
13、uname -r :查询内核版本号      gcc 程序名 -o  生成文件名
14,、ctrl shift  + (ctrl - ):调大(调小)linux终端的字体       ctrl shift  n :切换linux终端最初的登录界面       main  Tab :补齐主函数
15、ctrl  l (clear) :清屏      typedef:给已存在的类型取新名字             底行模式下:vsp 文件名 (同个终端打开另一个文件)
16、拷贝文件夹:cp 路径/源文件  路径/目标文件     -r/a
17、t 权限(既有t权限,又有x权限):防止误删除

猜你喜欢

转载自blog.csdn.net/qq_33575901/article/details/80958339
今日推荐