• Ubuntu-Basis-3rd


    周日,晴,记录生活分享点滴

    参考博客:https://www.cnblogs.com/resn/p/5800922.html

    推荐阅读:https://www.runoob.com/linux/linux-tutorial.html

    环境变量  

    自定义账户的个性化环境的三个重要文件

    (参考博客:https://blog.csdn.net/u011479200/article/details/86501366

    .bash_history :保存了当前用户使用过的历史命令,方便查找

    .bash_logout :用户登出时执行的命令

    .bashrc :登录用户以后所加载的配置文件,输入 cp/etc/skel/ ,即用户定义别名和函数

    各个文件的作用域

    1. /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。

    2. /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。

    3. ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。

    4. ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

    5. ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。

    6. ~/.bash_profile: 也可能是 .profile  是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

    PATH变量的设置

    env : 查看当前环境变量

    export  :  设置或显示环境变量。

    source : 在当前bash环境下读取并执行FileName中的命令。该filename文件可以无"执行权限"

    env
    export name = "SN"
    source /etv/profile

    补充:

    • 刚登录Linux时,首先启动 /etc/profile 文件 , ~/.bash_profile、 ~/.bash_login、 ~/.profile。 如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。
    • cd 默认是当前用户的家目录,用~表示
    • 所有环境变量字母要大写
    • 修改PATH环境变量:
    • (当前用户)~/.profile --> PATH = "要增加的路径 : $PATH" 
    • (所有用户)etc/profile --> PATH = "要增加的路径 : $PATH" (不推荐)

    echo 

    echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开并在最后加上换行号。

    -n 不要在最后自动换行

    -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:(不常用)

    a 发出警告声; 删除前一个字符;c 最后不加上换行符号;f 换行但光标仍旧停留在原来的位置; 换行且光标移至行首; 光标移至行首,但不换行; 插入tab;v 与f相同

    管道符

    |  :将前一个命令的结果 交给后一个命令使用

    补充:查看IP地址:windows -->ipconfig;ubuntu -->ifconfig

     

    重定向  

    >   重定向,如果的文件存在,则覆盖文件内容,文件不存在时创建文件

    >> 重定向,如果的文件存在,则向文件追加内容,文件不存在时创建文件

    1>  标准正确输出,同上(覆盖或创建)

    1>> 标准正确输出,同上(添加或创建)  

    2> 标准错误输出,同上(覆盖或创建)

    2>> 标准错误输出,同上(添加或创建)

    &> 标准正确输出和标准错误输出,同上(覆盖或创建)

    locate

    locate:查找文件,从生成的数据库中进行查找

    locate /etc/sh   # 搜索etc目录下所有以sh开头的文件。 
    locate ~/a   # 搜索用户主目录下,所有以a开头的文件。 
    locate -i ~/a   # 搜索用户主目录下,所有以a开头的文件,并且忽略大小写。

    补充:数据库正常每天4点自动更新,如果希望立即查找到所添加的信息,需要更新数据库 sudo updatedb

     

    find

    find不同于locate,先从目录中进行查找

    使用方法: 
    find   path   -option   [-print ]   [ -exec  -ok  command ]  {} ;
    
    ######  根据文件名查找 #######
    find / -name filename 再根目录里面搜索文件名为filename的文件
    find /home -name "*.txt"
    find /home -iname "*.txt"  # 忽略大小写
    
    
    ######  根据文件类型查找 #######
    find . -type 类型参数
    f 普通文件
    l 符号连接 
    d 目录 
    c 字符设备 
    b 块设备 
    s 套接字 
    p Fifo
    
    
    ######  根据目录深度查找 #######
    find . -maxdepth 3 -type f  # 最大深度为3
    find . -mindepth 2 -type f  # 最小深度为2
    
    #########   根据文件的权限或者大小名字类型进行查找 ###########
    
    find . -type f -size (+|-)文件大小 # +表示大于 -表示小于 
    b —— 块(512字节) 
    c —— 字节 
    w —— 字(2字节) 
    k —— 千字节 
    M —— 兆字节 
    G —— 吉字节
    
    
    #########   按照时间查找  ############
    
    -atime(+|-)n  # 此选项代表查找出n天以前被读取过的文件。
    -mtime(+|-)n  # 此选项代表查找出n天以前文件内容发生改变的文件。
    -ctime(+|-)n  # 此选项代表查找出n天以前的文件的属性发生改变的文件。
    -newer file  # 此选项代表查找出所有比file新的文件。
    -newer file1 ! –newer file2  # 此选项代表查找比file1文件时间新但是没有file2时间新的文件。
    
    # 注意:   
    #  n为数字,如果前面没有+或者-号,代表的是查找出n天以前的,但是只是一天之内的范围内发生变化的文件。
    #  如果n前面有+号,则代表查找距离n天之前的发生变化的文件。如果是减号,则代表查找距离n天之内的所有发生变化的文件。
    #  -newer file1 ! –newer file2中的!是逻辑非运算符
    
    #########   按照用户/权限查找  ############
    
    -user 用户名:根据文件的属主名查找文件。
    -group 组名:根据文件的属组名查找文件。
    -uid n:根据文件属主的UID进行查找文件。
    -gid n:根据文件属组的GID进行查找文件。
    -nouser:查询文件属主在/etc/passwd文件中不存在的文件。
    -nogroup:查询文件属组在/etc/group文件中不存在的文件
    -perm 777: 查询权限为777的文件
    
    来自: http://man.linuxde.net/find
    
    ########  查找时指定多个条件   ############
    
    -o:逻辑或,两个条件只要满足一个即可。
    -a:逻辑与,两个条件必须同时满足。
    
    find  /etc -size +2M -a -size -10M
    
    
    #########  对查找结果进行处理  #############
    -exec  shell命令  {}  ;
    -ok  shell命令  {}  ;
    其中-exec就是代表要执行shell命令,后面加的是shell指令,再后面的“{}”表示的是要对前面查询到的结果进行查询,最后的“;”表示命令结束。需要注意的是“{}”和“”之间是要有空格的。而-ok选项与-exec的唯一区别就是它在执行shell命令的时候会事先进行询问,-print选项是将结果显示在标准输入上
    
    find /home -name  “*.txt” -ok ls -l {} ;
    find /home -name  “*.txt” -ok rm {} ;

    补充:

    反引号(在linux中~下面的符号)作用是把里面的内容当作命令执行

    df

    df 后加上 -Th 用来查看分区是如何挂载的

    -T : 显示文件系统类型
    -h : 以能显示的最大单位显示
    
    df -Th

    du

    -s : 如果后面是目录,只显示一层
    -h : 以能显示的最大单位显示
    
    du dirname # 显示dirname下所有目录及其子目录的大小
    
    du -sh dirname  显示dirname的大小

    mount

    mount / umount 3 挂载和卸载设备

    mount # 查询挂在设备及属性
    
    # 挂载光盘
    mount -t iso9660 /dev/cerom /mnt
    mount /dev/sr0 /mnt  
    
    
    # 重新挂载设备
    mount -o remount,rw /mnt  # 重新挂载设备并设置rw属性
    
    # 挂载iso文件
    mount  a.iso -o loop /mnt 
    
    
    umount /mnt # 卸载设备
    umount -l /mnt # 强制卸载

    补充:

    /dev/sr0 = dev/cdrom  表示挂载的光驱

    mnt 代表挂载点

     

  • 相关阅读:
    nginx proxy_cache 缓存配置[转]
    MongoDB使用小结:一些常用操作分享
    PHP读取Mongodb数据报错,Cannot natively represent the long 8331412483000 on this platform
    MongoDB 学习笔记(python操作)
    Python 中 os.path模板
    Python 优雅的操作字典【转】
    MongoDB 一对多关系建模
    nginx之location配置
    MongoDB安装Windows服务
    .net4.0 请求HTTPS出错:未能创建 SSL/TLS 安全通道
  • 原文地址:https://www.cnblogs.com/chungzhao/p/12950954.html
Copyright © 2020-2023  润新知