Linux程序设计:一、入门,文件系统介绍

  1. ~/表示在用户目录Home下   /表示可以进入和home同等级的其他路径,例如 cd /bin进入二进制文件目录    cd /home/wjj进入命令行的默认路径
    进入其他用户:~/home/usrname
  2. 搜索路径(可以自己添加)有系统管理员配置
    /:根目录,包含了几乎所有的文件目录,相当于中央系统,cd /
    /boot 引导程序,内核等的存放目录,例如grub.conf调整启动的默认操作系统等参数

    /bin:普通用户可使用命令存放目录,例如ls cp mkdir
    /usr/bin:类似/bin,用户二进制文件目录,用于启动存放用户使用的标准程序
    /usr/local/bin:本地二进制文件目录,用于存放软件安装的程序
    /opt:可选择的文件目录,第三方应用程序,自己编译的软件包,可以放在此处
    /sbin或/usr/bin:super超级用户可以使用的命令的存放目录

    库文件:预先编译好的函数集合。(例程见https://blog.csdn.net/vict_wang/article/details/84989858
    .a:传统的静态函数库
    .so:共享函数库,利用ldd + 程序名,可以查看共享库
    /lib:bin目录下程序会用到的共享库目录
    /usr/lib:目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放位置。
    使用-L来增加非标准搜索路径,类似于头文件的-I
    eg:-L/usr/my/lib xllfred.c -lxll
    可以使用ar来归档自己的静态库,gcc -c对函数分别进行编译。eg:

    /dev:设备文件目录,设备文件可以用mknod创建
    /home:普通用户的家目录($HOME目录),以用户名作为名字存放在/home下面,例如/home/wjj
    /root:用户root的$HOME目录,超级用户特殊,直接在/root下,不在/home下
    /etc或者/usr/etc:全局的配置文件存放目录,另外,一些程序运行时会在当期目录下生成一个配置文件,存放当前用户的配置
    /usr:命令库文件和在操作中不会修改的文件,类似于ProgramFiles
    /usr/share:存放共享文件的目录

    头文件:
    /usr/include:C程序语言编译使用的头文件,通过头文件可以使用某些库函数
    如果需要使用的头文件不在标准位置/usr/include,则使用-I标志来包含非标准位置的头文件,eg:
    gcc -I/usr/my/inlcude fred.c
    表示查找程序fred.c所包含的头文件。(参考:C语言编译的使用手册)

    /proc:特殊文件目录,可以查看内部信息
    /mnt:临时挂载目录
    利用tree显示树形目录结构tree -L 1,其中1代表一层。
    截图快捷键shift+截图
    Linux程序设计:一、入门,文件系统介绍_第1张图片
  3.  gcc hello.c -o hello
    ./hello
  4. 环境变量:参考https://www.jianshu.com/p/ac2bc0ad3d74
    1. Linux是一个多用户多任务的操作系统,可以在Linux中为不同的用户设置不同的运行环境,具体做法是设置不同用户的环境变量
      1.系统环境变量:系统环境变量对该系统中所有用户都有效:/etc/profile文件中添加变量
      vim /etc/profile    
        export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
      注:修改文件后要想马上生效还要运行source /etc/profile不然只能在下次重进此用户时生效

      2.用户环境变量:顾名思义,这种类型的环境变量只对特定的用户有效:用vim ~/.bash_profile文件中增加变量,改变                           量仅会对当前用户有效,并且是“永久的”。
      注:修改文件后要想马上生效还要运行$ source ~/.bash_profile不然只能在下次重进此用户时生效。
      3.临时变量:只对当前shell(或子shell)有效:在shell的命令行下直接使用export 变量名=变量值

    2. 常见的环境变量:PATH、HOME、HISTSIZE、HOSTNAME、SHELL、LANG/LANGUGE、MAIL
      PATH:指定命令的搜索路径

      PATH声明用法:
      PATH=$PAHT::::--------:< PATH n >
      export PATH
      你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效。
      可以利用echo $PATH查看当前当前系统PATH路径。

    3. 修改和查看环境变量的命令
      echo 显示某个环境变量值 echo $PATH
      export 设置一个新的环境变量 export HELLO="hello" (可以无引号)
      env 显示所有环境变量
      set 显示本地定义的shell变量
      unset 清除环境变量 unset HELLO
      readonly 设置只读环境变量 readonly HELLO

    4. C程序调用环境变量函数
      getenv()返回一个环境变量。
      setenv()设置一个环境变量。
      unsetenv()清除一个环境变量。

  5. grep: 定位出包含指定字符串的文件
    eg:grep EXIT_ *.h

  6. Linux程序设计:一、入门,文件系统介绍_第2张图片

你可能感兴趣的:(Linux程序设计)