《linux命令行和shell脚本编程大全》之命令行知识点记录

一、第3章--基本bash shell 命令

1.1 链接文件

      链接是linux里用于在系统上维护同一文件的两份或多份副本的一种方法,linux有两种不同链接,符号链接硬链接。

1.1.2 符号链接

      符号链接创建方法:

      ln -s a.txt  a_link

      这样就创建了a.txt的符号链接a_link,a_link指向啊a.txt,两者是完全不同的文件,管理a_link,就是管理a.txt

1.1.3 硬链接

      硬链接创建方法:      

      ln  b.txt  b_link

      这样就创建了b.txt的符号链接b_link,b_link指向啊b.txt,b_link实际上是虚拟文件,和b.txt同为一个文件

二、第4章-- 更多 bash shell

2.1 ps命令

       ps -ef : 显示所有进程,并输出一些有用的信息

       UID:启动进程的用户

       PID:进程的ID

       PPID:进程的父进程ID

       C:CPU利用率

       STIME:进程启动时系统时间

       TTY:进程启动时终端设备

       TIME:进程启动时的系统时间

       CMD:启动程序名称

       使用-l ,可查看更多的进程信息  ps -LW 进程号,可看该进程的线程

       例如进程状态(O:运行; S:休眠;R 等待运行;Z 僵化,进程已结束,但父进程不在; T 停止)、进程的优先级、内存地址等等

       netstat -apn | grep 端口号 查看网络端口占用情况

2.2 top命令实时监测进程

      top:一开始可查看近15法呢还总的平均负载,如果平均负载很高,则说明系统有问题,通常超过2,就比较繁忙了

      top命令可看到的较重要信息

      PID:进程ID

      USER:进程属主

      PR:进程优先级

      S:进程的状态      

      %CPU:进程使用CPU时间比例

      %MEM: 进程使用的内存占可用内存的比例

2.3 结束进程

     进程通常使用信号进行通信,常用结束命令为kill

2.4 监测磁盘空间

2.4.1 mount命令     

       查看磁盘剩余空间,避免应用程序不够用,mount命令输出当前系统挂载的设备列表

2.4.2 df 命令

       df  可查看磁盘挂载点上磁盘空间的使用情况             

2.4.3  du 命令

      df 查看挂载点空间,如果空间剩余少了,可使用du进一步查看是什么占用了内存。

2.5 linux最广泛的压缩文件和解压缩命令

      最广泛的压缩和解压缩的命令是tar, 有用的如以下三条

      tar -cvf test.tar  test/  test2/

      这条命令就是把目录test/ 和 test2/压缩

      tar -tf test.tar

      这条命令只是查看 test.tar 的目录内容

      tar -xvf test.tar    

      当然对于.tgz结尾的压缩文件,也可以用以下命令解压缩

      tar  -zxvf filename.tgz

三、第5章-- 理解shell

3.1 Shell 及子Shell

      shell 其实是一种时刻都在运行的复杂交互式程序,在终端默认的bash shell 中输入 /bin/dash ,将开启个子shell , shell 实际上也相当于是一个进程,可由 ps -f 查询进程及父进程号。

四、第6章--LINUX 环境变量

4.1 环境变量

     bash shell 中 环境变量可分为 全局变量局部变量,用户定义全局变量对所有的shell 均有效,局部变量则只对定义他们的shell 有效,linux也定义了标准的局部变量,用户定变量则是用户定义的变量。

     env 和 printenv 可查看全局变量,不包含局部变量和用户定义变量,set 则会输出全局变量、局部变量、用户定义变量

4.2 设置局部环境变量

     在shell自定义的变量则为局部环境变量,变量名区分大小写用户定义变量使用小写较好

4.3 设置全局环境变量

     可以在 某个Shell 中,使用如下方法设置全局环境变量,如:

     my_variable="I am zjy"

     export my_variable

     这样设置的全局环境变量,在子shell中也是有效的,但是在另一个独立的shell则是无效的。

     使用 unset my_variable 则可以删除环境变量

4.4 设置 PATH 环境变量

     在shell 命令行界面输入一个外部命令,shell 将搜索整个系统找到对应的程序,PATH环境变量则定义了进行命令和程序查找的目录

     echo $PATH  查看PATH 环境变量,

     建议使用以下的方式新增PATH环境变量

     export PATH=$PATH:/ROOT_1:/ROOT_2

     这个也很容易理解,实际上就像是重新设置了PATH,$PAHT是老的环境变量,用:区分新增的一个或多个路径,这种方法的PATH环境变量实际上在子Shell 也是有效

     上面的方法一旦退出shell,PATH环境变量则不见,如果设置永久有效的PATH 环境变量,则需要在/etc/profile 里新增PATH环境变量

     让环境变量立即生效需要执行如下命令:  
     source /etc/profile  

     上述方法比较常用,但缺点是一旦升级发行版,该文件也会跟着更新,变量设置就会没了。

     存储个人用户永久性bash shell变量的地方则是$HOME/.bashrc 文件     

五、第7章-- Linux 文件权限

     linux 安全系统的核心是用户账户,/etc/passwd 是一个记载用户账户信息的文件,当然里面很多账户不是真的用户,很多是系统用户。/etc/passwd记录了用户账户UID、目录位置、默认SHELL等信息,真正的用户密码保存于/etc/shadow。

5.1 useradd 和 userdel

     useradd 用于创建用户账户,如 useradd -m test -s /bin/sh -g group –G adm,root gem, -m为新创建了test用户,并创建用户目录,-s 为所使用的shell,-g为归属组,-G 为另一个归属组,root gem表示主组为gem 。之后使用 passwd test 创建密码。usermod -G sudo 用户名  加入sudo组。可用 grep sudo /etc/group 查询 sudo组下包含的用户。

5.2 usermod

     usermod 可用于修改用户账户,例如 -G 可修改所属组,-L将账户锁定,无法登录;-p 修改密码等等  

5.3 创建新组和修改组

     linux 通常将组信息记录在 /etc/group 文件,linux 通常会为每个新用户创建一个名字一模一样的组,但是也可以使用 groupadd 祖名 创建一个新组,新创建的组下没有用户,可以用 usermod -G 祖名 用户名 添加,groupmod 修改

5.4 文件权限

     可用chown 修改文件的所有主或归属组,前者必须用root 用户,后者必须同时是 旧组和新组的成员,当然使用chgrp 也可以 。

5.5 共享文件

     这里目的是创建一个共享文件目录,方法:修改目录的所属组,然后再修改为该目录设置替代组标识(这样目录下的所有新建文件都是同一个组的),再修改umask(目录的全权限777 减去umask 就是默认权限 ), 这样共享文件内的所有权限都是一致的 。

     makdir testdir -> chgrp shard testdir -> umask 002 

五、第8章-- 管理文件系统

     如何使用LVM 给虚拟目录新增空间, 方法如下:

     fdisk 创建一个物理分区,用 pvcreate 将分区创建实际的物理卷,使用 vgcreate 创建一个或多个卷组,之后使用lvcrete 创建 逻辑卷,之后再创建文件系统sudo  mkfs.ext4  /dev/Vol1/lvtest,最后的一步,使用mount 挂载到一个新的挂载点。 

六、第9章-- 安装软件程序

    常用的命令行下载安装就是apt-get、aptitude 、dpkg等,其中 dpkg 针对的是 .deb文件,对于从源码安装软件包,安装步骤如下:

1. 下载 .tar.gz 压缩包

2. 解压缩,参考README 文件安装

3. 配置 ./configure 或 cmakd设置

4. make 编译

5. make install




猜你喜欢

转载自blog.csdn.net/AP1005834/article/details/78690698
今日推荐