Linux命令及shell编程看这篇文章就够了

本文全面涵盖了Linux常用命令,包括环境变量、文件权限、软件安装、Vim使用、脚本编写、结构化命令、用户输入处理等方面,是学习Linux操作和shell编程的实用教程。通过实例介绍了如何查看和操作文件、目录,以及如何创建和管理进程,同时讲解了如何使用正则表达式进行文本处理。
摘要由CSDN通过智能技术生成

目录

 

一、linux 常见命令

二、使用Linux环境变量

三、linux 文件权限

四、安装软件

五、Vim 的使用

六、构建基本脚本

七、使用结构化命令

八、处理用户输入

九、控制脚本

十、创建函数

十一、基本的sed和gawk

十二、正则表达式


一、linux 常见命令

1. man 查看命令手册,进入后主要看前几段,空格翻页,回车下一行,q离开。

2.常见linux目录

      2.1 / 虚拟根目录,通常不会再这里储存东西

     2.2 /bin 二进制目录,存放许多用户级的GNU工具

     2.3 /boot 启动目录,存放启动文件

     2.4 /ect 系统配置文件目录

     2.5 /home 主目录,linux在这里创建用户目录

     2.6 /lib 库目录,存放系统和应用的库文件

     2.7 /media 媒体目录

     2.8 /mnt 挂载目录

     2.9 /opt 可选目录,常用于存放第三方软件包和数据文件

     2.10 /proc 进程目录,存放当前硬件及进程等相关信息

     2.11 /root 用户的主目录

     2.12 /sbin 系统二进制目录,存放许多GNU管理员级工具

     2.13 /run 运行目录 存放系统运行时数据

     2.14 /srv 服务目录 存放本地服务的相关文件

     2.15 /sys 系统目录 存放系统硬件信息的相关文件

     2.16 /tmp 临时目录

     2.17 /usr 用户二进制目录 大量用户级的GNU工具和数据文件都储存在这里

     2.18 /var 可变目录,用以存放经常变化的文件

3. pwd 显示当前目录 . 表示当前目录 .. 表示父级目录

4. ls 显示文件和目录

     4.1 但是 -a才会把隐藏的文件显示出来;

     4.2 -R递归显示目录;

     4.3 -F 目录后面加入/ 以示区别;

     4.4 -l 显示长列表 包含了文件更多信息 文件类型,权限,属主用户名,属组组名,文件大小,上 次修改时间,文件名或目录        名

     4.5 可以使用过滤器 ? 代表一个字符,* 代表多个

5. touch 创建文件

6. cp 复制文件 cd source target ,最好加上-i 让其询问是否覆盖原有的同名文件;-R可以复制整个目录内容

7. 链接文件

     1.软链接 (符号链接) ln -s   source  target 

     2.硬链接 (实体链接)ln       source  target

软连接和硬链接的特点:

软链接:

  • 1.软链接是存放另一个文件的路径的形式存在。
  • 2.软链接可以 跨文件系统 ,硬链接不可以。
  • 3.软链接可以对一个不存在的文件名进行链接,硬链接必须要有源文件。
  • 4.软链接可以对目录进行链接。

硬链接:

  • 1. 硬链接,以文件副本的形式存在。但不占用实际空间。
  • 2. 不允许给目录创建硬链接。
  • 3. 硬链接只有在同一个文件系统中才能创建。
  • 4. 删除其中一个硬链接文件并不影响其他有相同 inode 号的文件。

这种文件是软连接:

[root@izbp1gy0sfpm9qmpzhxfjwz file1]# 393218 lrwxrwxrwx 1 root root 7 Mar 17 14:51 tempdoc2 -> tempdoc

这种文件是硬连接:(icode是一样的)

393237 -rw-r--r-- 3 root root 0 Mar 17 14:53 tempdoc

393237 -rw-r--r-- 3 root root 0 Mar 17 14:53 tempdocHardLink

8. mv 可以直接重命名文件 例如mv aFile bFile;mv 可以移动文件也可以移动目录

9.rm -i 询问;-f 强制删除

10. mkdir 创建目录 -p 创建多级目录

11. rmdir 只会删除空目录,如果想递归删除目录,那么需要使用rm命令,-r 递归 -f 强制

12. file 可以窥探文件内部 并告诉你是什么类型的文件

13.cat 查看文件 -n 每行加上行号;-b 有文字的才加上行号

14.more 查看文件分页工具 空格下一页,回车下一行

15.less 是more的升级版

17.tail -n 100 表示查看最后一百行,-f 表示实时读取文件(看log文件的时候很有用)

18. head 类似于tail 但是不支持-f参数

19.ps 显示进程 -f 显示完整信息 -e 显示所有进程

  •     UID:启动这些进程的用户
  •     PID:进程的进程id
  •     PPID:进程的父进程id
  •     C:进程生命周期中的cpu利用率
  •     STIME:进程启动时的系统时间
  •     TTY:进程启动时的终端设备
  •     TIME:运行进程需要的累计cpu时间
  •     CMD:启动的程序名称

20. top 可以实时显示进程

21. kill (PID) 结束进程, -s 强制结束

22. mount 查看挂载设备列表;df查看已挂载磁盘使用情况,-h 输出类似m Gb可读格式

23.sort 排序文件 -n 识别数据 -M 识别月份

24.grep 搜索数据 这是一个强大的搜索数据工具

    1.-v 反向搜索(逻辑方向类似于!)

    2. -n 显示行

    3. -e指定多个匹配模式,类似于或者的意思 。例如:grep -n -e if -e o .bash_profile ,意思是匹 配if或者o;也可以使用正则替      代 grep -n [if o].bash_profile

25. gzip 压缩文件 gunzip 解压文件 gzcat 查看压缩文件

26.tar 归档数据;另 可以使用 tar -zxvf fileName.tgz 解压tar文件

27. (命令)子线程处理此命令;命令& 置于后台;coproc 协程处理命令

28. type 命令,可以显示命令类型,是内建还是外部或两者皆有

29.history 可以找到历史命令;!! 使用最近命令;!+数字 使用选定历史命令

二、使用Linux环境变量

1.环境变量分为全局和局部,子shell可以访问全局

2. env/printenv 可以查看环境变量;printenv +HOME /echo + $HOME 格式可以打印特定环境变量

3.局部环境变量设置:变量 = 字符 ; 使用:$变量。

4.全局变量的设置:先设置成局部 在使用命令 export +变量

5.unset + 变量即可删除局部变量

6.PATH 环境变量。如果需要追加PATH环境变量可以使用命令 PATH = $PATH:+新的path 即可。

注意:

    1.环境变量是以:分割,所以为什么要加上:

    2.这样只能维持到系统退出

    3.永久修改,在 /etc/profile 末尾添加

    也可参见:https://blog.csdn.net/MaoChuangAn/article/details/90614235

 

三、linux 文件权限

1.useradd + 名称,创建新用户。-mk 创建HOME目录,并把/etc/skel中文件拷贝过来

其他参数还可以设置

2.userdel+名称 ,删除用户。-r 删除HOME及邮件目录

3.usermod 跟useradd一样的参数可以用,并且可以使用以下参数

  •     -l 修改登录名
  •     -L 锁定账户
  •     -P 修改账户密码
  •     -U 解除锁定

4.passwd 更改用户密码

5.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值