本文记录了Linux中常用的一些东西。

命令生效顺序

  1. 第一顺位执行绝对路径或者相对路径的命令
  2. 第二顺位执行别名
  3. 第三顺位执行Bash的内部命令
  4. 第四顺位执行按照$PATH环境变量设置定义的目录顺序的第一个命令

脚本执行方式

当我们写完一个脚本的时候,它是不可以直接运行的。

  1. 通过Bash调用执行脚本 # bash hello.sh
  2. 赋予执行权限,直接运行
    • # chmod 755 hello.sh
    • 相对路径 # ./hello.sh 或者 绝对路径 # /root/hello.sh

设置PATH环境变量

  1. 直接用export命令 # export PATH=$PATH:/usr/local/src/node-v0.10.24/node_modules/node-sass/bin
  2. 修改profile文件:
    • # vi /etc/profile
    • 然后在文件里面加入export PATH=$PATH:/usr/local/src/node-v0.10.24/node_modules/node-sass/bin
    • 执行命令 # source /etc/profile 生效
  3. 修改.bashrc文件

    • # vi /root/.bashrc
    • 在里面加入 export PATH=$PATH:/usr/local/src/node-v0.10.24/node_modules/node-sass/bin
    • 执行命令# source /root/.bashrc 生效

如果修改了/etc/profile,那么编辑结束后执行# source profile(# source /etc/profile) 或 执行点命令 # . ./profile,PATH的值就会立即生效了。 这个方法的原理就是再执行一次/etc/profile shell脚本,注意如果用sh /etc/profile是不行的,因为sh是在子shell进程中执行的,即使PATH改变了也不会反应到当前环境中,但是source是在当前 shell进程中执行的,所以我们能看到PATH的改变

PATH环境变量设置错误导致命令失效

  1. 如果是通过命令行设置的,可以通过重启或者离开本次登录(退出本次shell)
  2. 如果是因为修改配置文件导致无法使用,可以执行# export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin命令暂时使用这些目录下的命令,如 vi,ls,cd,从新修改配置文件。

搜索命令

1 find

  1. find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。(避免大范围的搜索,会非常浪费系统资源,建议不在直接在"/"目录下搜索)
  2. 格式:find [搜索范围] [搜索条件]
  3. 例:

    • find /home -name 文件名
    • find /home -iname 文件名 (不区分大小写)
    • find /home -user 文件名 (所有者文件)
    • find /home -nouser 文件名(没有所属者的文件,liunx中,每个文件都有所属者,如果没有,那么一般都是垃圾文件,但还是有特例的,比如内核产生的文件,就没有所属者,一般在proc和sys目录下;还有外来文件,也就是U盘拷入的文件也会忽略所有者。)
    • find . -type f -mmin -10 搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。
    • find 目录 -size 文件大小 (注意:文件大小用小写k和大写M。)

如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

2 locate

locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。 locate命令的使用实例:

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

3 whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 whereis命令的使用实例: # whereis grep

4 which

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 which命令的使用实例: # which grep

grep

搜索文件中的信息,一般为字符串,与正则表达式结合使用 grep [选项] 字符串 文件名 (字符串使用 "" 包围,结果为行记录) -i 忽略大小写 -v 排除指定字符串

find与grep的区别

  • find:在 系统 中搜索符合条件的 文件名,使用 通配符(完全)匹配
  • grep:在 文件 当中搜索符合条件的 字符串,使用 正则表达式 (包含)匹配

参考文档

  1. Linux的五个查找命令

Linux学习笔记一的更多相关文章

  1. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  2. linux学习笔记2-linux的常用命令

    第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...

  3. Linux学习笔记(一)2015.4.13

    研究生由单片机转Linux学习 首先安装VMware虚拟机,用的是VMware 10.0 在VMware 10.0上安装视频上推荐的Red Hat Linux 5 安装后正式进入Linux学习 笔记1 ...

  4. 20160127 linux 学习笔记

    Linux学习笔记第一天 Linux基本介绍 Linux的起源和发展: 简单说linux是一种操作系统,可以安装在包括服务器.个人电脑,乃至PDA.手机.打印机等各类设备中. 起源: Linux起源于 ...

  5. linux —— 学习笔记(汇总)

    笔记目录:一.系统知识 和 基本概念                    二.常用操作                   三.系统管理(内存.设备.服务等管理)                   ...

  6. Linux学习笔记-林耐斯Notes-Linux就该这么学

    Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...

  7. Linux~学习笔记目录索引

    回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...

  8. deepin linux学习笔记(四)进不去图形界面怎么办?

    目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...

  9. deepin linux 学习笔记(二)——文本编辑器

    目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...

  10. deepin linux学习笔记

    目录 deepin linux学习笔记 前言 linux常用命令 ls 显示文件夹内容 cd 切换当前目录 pwd 查看当前工作目录 mkdir 新建文件夹 rm 删除文件或文件夹 mv 移动文件 c ...

随机推荐

  1. 线上系统/tmp 目录不断增长分析与总结

    1.问题描述 系统配置为单核4G, web 工程配置堆2G,  /tmp目录 二进制文件不断增加,平均一天增加20G, 手动清理/tmp目录,重启系统,问题依旧. 2.分析 /tmp 目录存放系统运行 ...

  2. 使用TensorFlow中的Batch Normalization

    问题 训练神经网络是一个很复杂的过程,在前面提到了深度学习中常用的激活函数,例如ELU或者Relu的变体能够在开始训练的时候很大程度上减少梯度消失或者爆炸问题.但是却不能保证在训练过程中不出现该问题, ...

  3. 为什么会有OPTIONS请求

    在做项目时,很多时候发送一个post请求,是先发送一个option请求,然后再发送post请求,一直这么用之前也没有仔细思考,今天有时间,好好了解一下为什么会多一次请求. 疑问1:什么是options ...

  4. naturalWidth 与 naturalHeight

    在HTML 5中,新增加了两个用来判断图片的宽度和高度的属性(图片原始大小),分别为 naturalWidth 和naturalHeight属性,例子如下: 注意问题: - 图片没有加载的时候 值为0 ...

  5. jQuery_serialize的用法

    jQuery_serialize(form表单序列化)用于在前端要传很多值往后端的时候: <!DOCTYPE html> <html lang="en"> ...

  6. Machine Learning - week 4 - 习题

    1. 第一个.,是对的. 第二个.结果只会认出是一类,如图:.但这里是为了举例子,实际上不会恰好是 1.而是选择最大概率表示的类别.所以是错误的. 第三个:所有基于 0,1 的逻辑方程都可以使用神经网 ...

  7. Redux 核心概念

    http://gaearon.github.io/redux/index.html ,文档在 http://rackt.github.io/redux/index.html .本文不是官方文档的翻译. ...

  8. Codechef:Path Triples On Tree

    Path Triples On Tree 题意是求树上都不相交或者都相交的路径三元组数量. 发现blog里没什么树形dp题,也没有cc题,所以来丢一道cc上的树形dp题. 比较暴力,比较恶心 #inc ...

  9. bzoj 2946

    Description          给出几个由小写字母构成的单词,求它们最长的公共子串的长度. 任务: l        读入单词 l        计算最长公共子串的长度 l        输 ...

  10. 修改mysql密码的四种方法

    方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:my ...