网上看一个两小时突击linux的教程,就想补充一下linux的知识。想着一天抽出俩小时立马就能学完呢,结果乱七八糟的事情拖了四五天,实际完成某项任务的时间超出预期完成任务的两部不止。好了,"牢骚到此为止"。

1、linux用户

  • 超级用户 root 只有一个,home目录在 /root 下,拥有最高权限。
  • 普通用户 user 可以多个,home目录在 /home/user 下,拥有部分权限。

  添加用户  useradd  user1

  切换用户  su - user1  (加中间"-"的好处在于切换后就能进入用户home目录,也可以不加)

  修改密码  passwd [uname] (不加uname,默认是当前用户)

2、环境变量PATH

  我理解为windows下环境变量path,作用也相同

  执行某命令时,会从PATH包含的目录和当前的目录寻找该命令,如果没找到,则会提示 command not found ;执行命令也可以用相对路径或绝对路径的方式执行,比如执行  ../test 、 /usr/local/mycmd/test

  临时修改PATH: export PATH=$PATH:/usr/local/mycmd/test ,这种方式只对本次登录有效

  永久修改PATh:在 /etc/profile 文件的末尾添加  export PATH=$PATH:/usr/local/mycmd/test  ,系统重启后对所有用户永久生效;在  ~/.bashrc 文件的末尾添加 export PATH=$PATH:/usr/local/mycmd/test  ,重新打开一个终端窗口或执行 source ~/.bashrc 命令只对当前用户永久生效

  

3、linux文件权限

  

  1. -rwxrwxr-x 一共10位,第一位表示文件类型,"-"是文件,"d"是文件夹,其余位表示三种用户权限,前三位owner的权限,中三位属于owner用户组的权限,后三位其他用户的权限。

    修改文件的权限  chmod filepath ,linux文件有三种权限  r 读  、  w 写 、   x 执行 ,每种权限用一位二进制表示,用户权限的表示就用三位二进制,转成八进制就是[7,0]

    文件夹的 r权限表示可以 ls , w权限表示可以touch创建文件, x权限表示可以cd进入

    rwx = 4+2+1=7,故 chmod 777 filepath修改的权限为 rwxrwxrwx。

  2.  liuchw liuchw 前者表示owner,后者表示group(用户组)

4、文件的操作

   创建一个文件  touch helloworld.c

  创建目录   mkdir directory

  查看文本文件内容  cat helloworld.c

  查看文件类型  file helloworld.c (文件的类型只取决于文件内容,和文件后缀无关)

  删除文件   rm -rf helloworld.c

  编辑文件   vim  helloworld.c

  复制文件   mv ./helloworld.c ./cp/helloworld_copy.c

  复制整个目录   /home/ (如果目录 /home/2 不存在,会自动创建)

  重命名文件和复制文件一样,放在同一个目录中即可

5、 打包压缩命令

  打包(多个文件合并为一个文件,文件总体大小不会改变)

    tar cf mytar.tar file1 file2 ... fileN

  压缩 

     tar cjf mytar.tar file1 file2 ... fileN

  其中 c 表示create创建,f表示file文件,j表示某种压缩算法

  查看打包压缩文件内容  tar tvf mytar.tar

  解压 tar xf mytar.tar -C dir 将压缩文件解压到目录中,参数-C必须大写

6、 搜索命令

  我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

  • which 查看可执行文件的位置
  • whereis 查看文件的位置
  • locate 配合数据库查看文件位置
  • find 实际搜寻硬盘查询文件名称

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

   whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。 如: whereis ls

   locate 命令让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。如: locate pwd 、 locate /etc/sh 搜索 /etc目录下以sh开头的文件。

   find 命令在目录结构中搜索文件,并执行指定的操作。命令格式: find pathname -options [-print -exec -ok ...]

  1. find dir [-type [f|d]] -name "xxx"  -type表示文件类型,文件或是目录;-name表示文件名称,可以使用通配符*

  2. ind dir -name "*.c" -exec wc -l {} \;   -exec表示运行其后面的命令;wc全名word count, wc -l  统计文件行数;{}指一条匹配结果;\; 转义分号

  如:查找并删除n天以前的文件,  find . -type f mtime +n -exec rm {} \;

  3.  find dir -name "*.c" >> count ; wc -l count ; rm count ;  >> 将执行结果导入后面的文件。这句代码是查找出.c文件并将结果写入count文件,然后执行后面的命令。

  4. find dir -name "*.c" | wc -l  | 管道命令,把上一个命令的执行结果作为下一个命令的输入

  

  

【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. 手动实现如何从H264流中提取SPS/PPS信息

    1,代码比较简单,可以直接用了.流的第一个NALU一定是SPS void get_sps_pps_nalu(uint8_t *data, int len, std::vector<uint8_t ...

  2. ubuntu14.04 dnsmasq搭建本地名字服务器

    1 修改dnsmasq配置文件/etc/dnsmasq.conf 在/etc/dnsmasq.conf文件底部增加 #++++++++++++++++++++++++++++++++++++++++ ...

  3. Can you find it?——[二分查找]

    Description Give you three sequences of numbers A, B, C, then we give you a number X. Now you need t ...

  4. tensorflow在文本处理中的使用——Word2Vec预测

    代码来源于:tensorflow机器学习实战指南(曾益强 译,2017年9月)——第七章:自然语言处理 代码地址:https://github.com/nfmcclure/tensorflow-coo ...

  5. GitHub上传项目到远程库

    写文章 GitHub上传项目到远程库     GitHub上传项目到远程库 今天把想把文件托管到GitHub仓库,但是执行一系列的命令以后,刷新GitHub网站还是没有任何更新.后来终于找到原因,原来 ...

  6. TOJ4587:抓苹果(DP)

    传送门:抓苹果 dp(i,j) = max(dp(i-1,j-1),dp(i-1,j))+当i这分钟时能否刚好移动到这棵树下. 初始化是对不移动的情况下. 代码 #include<bits/st ...

  7. Luogu P4173 残缺的字符串-FFT在字符串匹配中的应用

    P4173 残缺的字符串 FFT在字符串匹配中的应用. 能解决大概这种问题: 给定长度为\(m\)的A串,长度为\(n\)的B串.问A串在B串中的匹配数 我们设一个函数(下标从\(0\)开始) \(C ...

  8. Java基础系列8——IO流超详细总结

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 在初学Java时,I ...

  9. Maven 运行 tomcat:run 时出现 Unable to compile class for JSP...

    近来无事便去看了看神奇的 Maven , 但写第一个 Hello,World 就非常不友好的怼给我一个 500, 很是郁闷; 开发环境: JDK1.8, Maven 3.5 项目目录: \maven_ ...

  10. 找不到 javax.servlet.http.HttpServletResponse 和 javax.servlet.http.HttpServletRequest 问题解决

    时隔3个月,我又回来了!在做完毕设之后,由于对此过程中学到的一些东西疏于整理,所以当再次打开我的project时有些手足无措,以至于出现一些问题也要解决好半天,我知错! 今天的问题是: 开始搜到的解决 ...