Linux下的重要目录(/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp )和一些重要命令解释

查找资料, 了解以下Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp 
查找资料, 了解以下重要命令. du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password 
查找资料, 学习如何使用命令安装gcc/g++, gdb, vim 

一、重要目录

1、/proc

     /proc :系统内核提供的文件系统,用来放置内核中的信息(系统核心、行程信息、周边装置的状态以及网络状态等)。/proc目录存在于内存中,当用户读取proc文件时,此文件从动态内存中读取出信息并提交。

/proc 下啊有三个重要目录:net, scsi 和 sys.

2、/sys

     /sys可以说是/proc的复制选项,为解决/proc目录下文件读写格式不一样而不方便转化的问题。 /sys只有一个值可写或可读,帮/proc记录一些文件操作,当下次调用时,会尽量使用/sys中的值进行操作,而将/proc保留给纯净的“进程文件系统”。

3、/SElinux

     /SElinux类似一个保护系统,将用户访问文件的资源进行限制,当用户有非法操作时,进行限制保护。

4、/bin

     /bin 是个二进制执行文件目录

5、/usr/lib

     /usr/lib 存放一些程序运行时所必须的函数库

     /lib是内核级的、/usr/lib 是系统级的, /usr/local/lib 是用户级的。

6、/usr/local

     /usr/local 提供给普通用户的/usr目录。/usr/local 适合安装软件,存放软件升级包。主要存放那些手动安装的软件(不是通过“新立得”或apt-get安装的软件。

7、/var

     相比/usr 是系统安装时会占用较大磁盘空间的文件,/var 是当系统运行以后会占用内存较大空间的文件。一些经常被修改的文件,还有一些数据库如MySQL存在/var/lib, 用户未读的邮件的默认存放地点为/var/spool/mail。

8、/tem

   一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,所有重要数据不可放置在此目录下。

二、重要命令

1、du命令:

      格式: du  [选项]   文件

      功能:显示指定文件及以下所有文件所占用系统数据块的情况(不制定文件就是默认当前目录)

       -a :  显示所有文件对系统数据块的使用情况。

       -b :  显示数据块大小时以字节为基本单位。

       -c :  除了显示文件对系统数据块的使用情况,还显示出文件的总和

       -s :  只显示文件数据块的总大小,不现实文件名

       -x :  只显示当前目录,不统计子目录。

  linux下程序测试:

[test@localhost ~]$ du c_code
48	c_code/holleword
16	c_code/processbar
32	c_code/Fork
16	c_code/Loop
112	c_code
[test@localhost ~]$ du -a c_code
4	c_code/holleword/main.c
4	c_code/holleword/makefile
12	c_code/holleword/a.out
12	c_code/holleword/main
4	c_code/holleword/fork.c
12	c_code/holleword/fork
48	c_code/holleword
4	c_code/processbar/process_bar.c
12	c_code/processbar/bar
16	c_code/processbar
4	c_code/Fork/fork.c
12	c_code/Fork/fork
4	c_code/Fork/fork_exit.c
12	c_code/Fork/fork_exit
32	c_code/Fork
4	c_code/Loop/loop.c
12	c_code/Loop/loop
16	c_code/Loop
112	c_code
[test@localhost ~]$ du -s c_code
112	c_code

2、df命令:

       格式:df   [选项]   文件

       功能:计算当前文件所有数据块的使用情况(包括前不久删除的文件)(与 du 的区别)

       -a :递归显示个文件及其子目录的数据利用块

       -h :  方便阅读时显示

       -H :  和-h一样,只不过 1k = 1000;而不是1024

        -i :  显示inode信息

        -k :区块为1024

       -T :文件系统类型

   linux下程序测试:  

[test@localhost ~]$ df c_code
文件系统               1K-块    已用     可用 已用% 挂载点
/dev/mapper/cl-root 38770180 6546816 32223364   17% /
[test@localhost ~]$ df -a c_code
文件系统               1K-块    已用     可用 已用% 挂载点
/dev/mapper/cl-root 38770180 6546816 32223364   17% /
[test@localhost ~]$ df -h c_code
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root   37G  6.3G   31G   17% /

3、top命令:

    格式:top   [ 选项]

    功能:相当于windows下的资源管理器,可以查看当前CPU的使用情况,各进程的状况。

     -b :   批处理

      -I :   忽略过失

     -c :   显示完整的治命令

     -s :  保密模式

linux下程序测试:  

[test@localhost ~]$ top

4、free命令:

    格式:free   [选项]

    功能: 显示所有内存利用率(实体内存、虚拟的交换文件内存、共享内存区段、系统使用的缓冲区)

     -b:    以bype 为单位显示

     -k:    以kb为单位显示

    -m:    以MB为单位显示

    -o:     不现实缓冲区

    -t:      显示内存总和列

linux下程序测试:

[test@localhost ~]$ free
              total        used        free      shared  buff/cache   available
Mem:        1867292      254824     1339956        9152      272512     1413900
Swap:       2097148           0     2097148
[test@localhost ~]$ free -b
              total        used        free      shared  buff/cache   available
Mem:     1912107008   260898816  1372135424     9371648   279072768  1447874560
Swap:    2147479552           0  2147479552
[test@localhost ~]$ free -m
              total        used        free      shared  buff/cache   available
Mem:           1823         248        1308           8         266        1381
Swap:          2047           0        2047
[test@localhost ~]$ free -t
              total        used        free      shared  buff/cache   available
Mem:        1867292      254396     1340364        9152      272532     1414328
Swap:       2097148           0     2097148
Total:      3964440      254396     3437512

5、pstake命令:

    格式:pstake   [选项]

    功能:用于进程跟踪,必须由相应进程的所属者或root用户运行。查看进程挂起的位置。

 

6、su命令:

    格式: su   [选项]   用户名

    功能:用于用户之间的切换

    选项使用:-a<指令>或 -command=<命令> :执行完指定的命令后,即回复原来的身份。

                      -l :改变身份同时改变工作目录

                      -m,-p(-environment -preserve) : 改变身份,不变更环境变量。

                      -s(-shell) :指定要执行的shell

                      -help : 显示帮助

                     -version:下手版本信息

linux下程序测试:

[test@localhost ~]$ su -c ls root
密码:
c_code	class_test  Desktop  workspace
[test@localhost ~]$ su -V test
su,来自 util-linux 2.23.2

7、sudo命令:

   格式:sudo  [选项]  参数

   功能:可以使用其他用户的身份执行命令。

   参数:需要执行的命令。

    -b :在后台执行指令

    -h :显示帮助

    -H :将home环境变量设置为新身份的HOME环境变量

    -k :结束密码的有效期限,下次执行sudo时便需要密码。

    -l :列出目前用户可执行与无法执行的命令

    -p :改变询问密码的提示符号

    -s :执行指定的shell

    -u :以指定的用户作为新的身份。 不加此参数,则预设以root作为新的身份

    -v :延长密码有效期限5分钟

    -V :显示版本信息

8、adduser命令:

  格式:add user   [选项]   用户名

  功能:用来建立用户账号和创建用户的起始目录,使用权限时超级用户。

  选项: -c :加上备注文字,并保存在password的备注栏中。

              -d :指定用户登入时的主目录,替换系统默认值/home/<用户名>

              -D :变更预设值

              -e :指定账号的失效时间,日期格式为MM/DD/YY。例如06/30/12。不写表示永远有效

               -f :制定在密码过期后多少天,关闭该账号。如果为0账号立即被停用,为-1表示账号永久可用。默认值为-1

              -g :指定用户所属的群组。用户组必须时已经存在的,默认值为100,即user

             -G :指定用户所属的附加组群。

             -m :自动建立用户的登入目录。

             -M :不要自动建立用户的登入目录。

              -n :取消建立以用户名称为名的群众。

               -r :建立系统账号

               -s :指定用户登入后所使用的shell。默认值为/bin/bash

               -u :指定用户ID号。该值在系统中必须是唯一的。0~499默认是给系统用户账号使用,所以该值必须大于499。

8、password命令:

     格式:password  [选项]

     功能:修改用户密码。

         -d :删除密码

         -f :强行执行

         -k :更新只能发送在过期后。

三、如何使用命令安装gcc/g++,gdb,vim

     linux下使用gcc来编译C语言程序,使用g++来编译C++程序,使用gdb来调试程序,使用vim作为编辑器。

1、安装

  yum 在线安装软件

           yum  :redhat 系列包管理工具

           查看软件包:  yum   list   查看所有软件包

                                  yum   intall  list   查看已安装软件包。

           安装软件包: yum   intall   [软件包名]

           移除软件包: yum   remove

[test@localhost ~]$ yum list
已加载插件:fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Determining fastest mirrors
 * base: mirror.jdcloud.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.nwsuaf.edu.cn
 * updates: mirrors.nwsuaf.edu.cn
^Z
[1]+  已停止               yum list

2、gcc/g++

     编译器:  把我们所写的c语言代码编译生成计算机可识别的机器指令代码。  

     编译过程:预处理、编译、汇编、链接  

     gcc  默认链接方式是动态链接

     Gcc常用选项:

                           -E       预处理

                           -S       编译

                           -c       汇编

                           -o       指定生成文件名称

                          -static   静态链接

                          -g      开启程序调试模式,加入调试符号信息生成debug版本程序。

[test@localhost Loop]$ vi loop.c
[test@localhost Loop]$ gcc loop.c -o loop
[test@localhost Loop]$ ./loop
haha
haha
haha

3、调试器gdb

    gdb:  调试程序,快速定位程序运行错误位置的工具。 

    前提:是可执行程序中需要有调试符号信息(gcc加上-g选项,生成debug版本)。

    与gcc的区别:gcc默认编译生成的可执行程序是release版本程序然而程序想要能够调试必须是debug版本。

    gdb  ./execfile  加载运行程序。

调试命令:

      单步调试:start  开始单步调试、l  默认查看调试行附近代码, l file:line 指定文件指定行、until   直接解运行到指定行(until file:line  指定文件指定行)、  s  下一步,追踪进入函数。

      打断点:b   打断点,b + 行号  给某行打断点(b file:line)、 i   查看调试信息(i  b  查看断点信息)、d   默认删除所有断点(d  b_id  删除指定断点)、p   查看变量内容(p  var)、c 从停止处继续运行、watch  变量监控(watch  var)。

      快速定位函数崩溃位置: bt   查看函数调用栈信息。

4、vim编辑器

      打开文件: vim   文件名

      操作模式:12种,常用三种(插入、普通、底行)。

      模式切换:普通<->插入:    i  普通 -> 插入(o、I 光标移动到行首、A 光标移动到行尾、O 向光标所在上行进行插入、) 

                        ESC  底行-> 普通

                        普通 -> 底行:ESC  插入 -> 普通。

     底行模式:保存退出:w q q! wq      执行命令:!command    vim设置

     普通模式:光标移动 hjkl wb Ctrl+f/b gg G

     复制:yy nyy  粘贴:p P

     剪贴:x dw D dd ndd  

     撤销:u Ctrl+r

 

[test@localhost Loop]$ vi loop.c
  1 #include <stdio.h>
  2 #include <unistd.h>
  3 
  4 int main()
  5 {
  6     while(1){
  7         printf("haha\n");
  8         int i;
  9         i++;
 10 
 11         sleep(1);
 12     }
 13     return 0;
 14 }
~                                                                                                                            
~                                                                                                                            
~                                                                                                                            
~                                                                                                                            
~                                                                                                                            
~                                                                                                                            
~                                                                                                                            
"loop.c" 14L, 129C   

      

  

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值