网上看一个两小时突击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. Echarts Map地图下钻至县级

    **准备工作:**1.首先使用vue-cli的脚手架生成vue项目. 2.然后使用npm安装echartsnpm install echarts -S 3.安装完后再mian.js中挂载到vue的实例 ...

  2. jq css()

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 通过PdfiumViewer.dll实现pdf直接从流显示(效果不好)

    开源的PdfiumViewer.dll并不完整 需要不开源的pdfium.dll配合使用 引用只需添加PdfiumViewer.dll,但pdfium.dll必须跟它放在一个路径下 界面中添加控件: ...

  4. Python--day48--ORM框架SQLAlchemy操作表

    ORM框架SQLAlchemy操作表: 表结构和数据库连接: #!/usr/bin/env python # -*- coding:utf-8 -*- from sqlalchemy.ext.decl ...

  5. H3C 查看RIP的debugging信息

  6. SpringSecurity登录原理(源码级讲解)

    一.简单叙述 首先会进入UsernamePasswordAuthenticationFilter并且设置权限为null和是否授权为false,然后进入ProviderManager查找支持Userna ...

  7. .map() .filter() .reduce() .includes() .some() .every()的用法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. linux一个例子驱动

    我们介绍的驱动称为 short (Simple Hardware Operations and Raw Tests). 所有它做 的是读和写几个 8-位 端口, 从你在加载时选择的开始. 缺省地, 它 ...

  9. Linux 内核USB 接口配置

    USB 接口是自己被捆绑到配置的. 一个 USB 设备可有多个配置并且可能在它们之间转换 以便改变设备的状态. 例如, 一些允许固件被下载到它们的设备包含多个配置来实现这个. 一个配置只能在一个时间点 ...

  10. TOJ4587:抓苹果(DP)

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