学习Linux系统的重要性应该不用多说,下面我就对Linux的基础知识进行一个全面而又简单的总结。不过建议大家还是装个Linux系统多练习,平时最好只在Linux环境下编程,这样会大有提高。

linux的特点

- 免费的/开源 

     - 支持多线程/多用户 

     - 安全性好 

     - 对内存和文件管理优越

关机命令 

    shutdown -h now(立即进行关机)      shutdown -r now (现在重新启动计算机)      reboot (现在重新启动计算机)

进入桌面 

   
startx

用户登录

   
登录时尽量少用root账户登录,因为它是系统管理员,最大的权限,难免操作失误。可以利用普通用户登录,登录后再用“su -”命令来切换成系统管理员身份

用户注销

   
在提示符下输入logout即可

linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录,深刻理解linux文件目录是非常重要的

- /

    - root,存放root用户的相关文件

    - home,存放普通用户的相关文件

    - bin,存放常用命令的目录,如vi,su

    - sbin,要具有一定权限才可以使用命令 

    - mnt,默认挂载光驱和软驱的目录

    - etc,存放配置的相关文件

    - var,存放经常变化的文件,如网络连接的sock文件

    - boot,存放引导系统启动的相关文件

    - usr,安装一个软件的默认目录,相当于windows下的program files

下面就来介绍一些比较常用的命令及使用方法:

 pwd,显示当前在哪个路径下

linux的用户管理

useradd 用户名,添加用户

【案例】useradd xiaoming

passwd 用户名,为新用户设密码

【案例】passwd xiaoming,修改小明的密码

userdel 用户名,删除用户

【案例】userdel xiaoming,删除用户但保存用户主目录 

    【案例】userdel ‐ xiaoming,删除用户以及用户主目录

logout,当前用户推出

who am i,当前用户是谁

cd,改变目录

ls,列出文件和目录

ls ‐a,显示目录下的所有文件,包括隐藏文件

 ls ‐l,显示长列表格式

mkdir,建立目录

rmdir,删除空目录

touch,建立空文件

cp,复制命令

【案例】cp ‐r dir1 dir2,递归复制命令(复制子目录信息)

mv,移动文件和改文件名

rm,删除文件和目录

rm ‐rf *,删除所有内容,包含目录和文件,r表示递归,f表示强制

ln,建立符号连接,类似于建立某个文件的快捷方式

ln ‐s 源目标

【案例】ln ‐s /etc/inittab inittab,inittab指向实际文件/etc/inittab inittab

 more,显示文件内容带分页,ctrl + page up上翻,长空格下翻

less,显示文件内容带分页

grep,在文本中查询内容

【案例】假设存在某个文件test.cpp中含有hello关键字,此时可以使用grep名命令来查找,grep n “hello” test.cpp,n表示在第n行出现

|,管道命令,在linux和unix系统,把上一个命令的结果交给|后面的命令处理

【案例】ls ‐l /etc/ | more

    man [command],帮助,类似于dos中的help

    find,搜索文件及目录。在linux中,因为文件系统是以级别式的结构来组成的,所以要在整个系统中找到特定的文件和目录并不是件容易的事。而“find”命令可以解决上述问题

在特定的目录下搜索并显示指定名称的文件和目录

     【案例】find / -name man:意思是说从根目录开始搜索名称为man的文件或目录

    搜索一段时间内被存取/变更的文件或目录

   
【案例】find /home -amin -10:十分钟内存取的文件或目录

    【案例】find /home -atime -10:十小时内存取的文件或目录

    【案例】find /home -cmin -10:十分钟内更改过的文件或目录

    【案例】find /home -ctime +10:十小时前更改过的文件或目录

搜索指定大小的文件

   
【案例】find /home -size +10k:意思是说查找/home目录下大小为10k的文件

重定向命令

   
ls -l > a.txt,列表的内容写入文件a.txt中(覆盖写)

ls -al >> aa.txt,列表的内容追加到文件aa.txt的末尾

从文件中输入信息:database_program < database_data

en,查看环境变量

压缩和解压

以zip和unzip处理.zip文件

zip命令的基本使用方法

zip file.zip *:zip后接压缩后的文件名,在它的后面输入要压缩的文件即可

压缩后,自动删除原文件

【案例】zip m file.zip to.txt:把to.txt文件压缩成file.zip文件,to.txt会自动删除的

将子目录一起压缩

【案例】zip ‐r file.zip *:将当前目录下的子目录一起压缩

忽略子目录的内容

【案例】zip ‐j file.zip *

将已压缩的或没有必要压缩的文件去掉

【案例】zip ‐n .mpg: .jpg: .gif:第一种文件中间要用“:”分开

压缩某一日之后的文件

【案例】zip ‐t 080915 file.zip:将当前目录下在2015年8月9日之后文件压缩

不压缩链接文件的原文件

【案例】zip ‐y file.zip *

压缩率问题,-1~-9,其中-9的压缩率最高

【案例】zip -9 file.zip *

将不需要压缩的文件排除在外

【案例】zip file.zip * -x file2.txt:在压缩时,将当前目录内的file2.txt文件排除在外

以unzip命令进行.zip文件的解压缩

直接解压缩文件

【案例】unzip file.zip

排除不需要解压缩的文件

【案例】unzip file.zip ‐x file2:除了file2文件外,其他的文件都解压缩

查看压缩包的内容

【案例】unzip ‐Z file.zip:查看file.zip压缩包的内容,也可以使用“-l” “-v”来查看压缩包的内容

以gzip和gunzip处理.gz文件

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念 。

1)所有者:一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者。用ls ‐ahl命令可以看到文件的所有者。也可以使用chown 用户名 文件名来修改文件的所有者。

2)文件所在组:当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组,用ls ‐ahl命令可以看到文件的所有组,也可以使用chgrp 组名 文件名来修改文件所在的组。

3)其它组:除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

文件权限

     ls -l中显示的内容如下:

-rwxrw-r‐-1 root root 1213 Aug 9 09:39 abc

10个字符确定不同用户能对文件干什么

第一个字符代表文件(-)、目录(d),链接(l)

其余字符每3个一组(rwx),读(r)、写(w)、执行(x)

第一组rwx:文件所有者的权限是读、写和执行

第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行

第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行

也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7

1 表示连接的文件数

root 表示用户

第二个root表示用户所在的组

1213 表示文件大小(字节)

Aug 9 09:39 表示最后修改日期

abc 表示文件名

改变权限的命令

   
chmod 改变文件或目录的权限

chmod 755 abc:赋予abc权限rwxr-xr-x

chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限

chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限

chmod a+r abc:给所有用户添加读的权限

改变所有者(chown)和用户组(chgrp)命令

chown xiaoming abc:改变abc的所有者为xiaoming

chgrp root abc:改变abc所属的组为root

chown root ./abc:改变abc这个目录的所有者是root

chown ‐R root ./abc:改变abc这个目录及其下面所有的文件和目录的所有者是root

改变用户所在组

   
在添加用户时,可以指定将该用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组

usermod ‐g 组名 用户名

你可以用  usermod ‐d 目录名 用户名,改变该用户登录的初始目录

linux分区详解

硬盘的分区主要分为基本分区(Primary Portion)和扩展分区(Extension
Portion)两种。只是针对一个硬盘来讲,基本分区和扩展分区的数目之和不能大于4个,且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么有扩展分区再分下去的是什么呢?它就是逻辑分区(Logical
Portion),而且逻辑分区没有数量上限制

对windows用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录。它们的文件结构都是独立的,非常好理解。但对这些用户初上手Linux,可就有点恼人了。因为对Linux用户来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录、一个独立且唯一的文件结构。Linux中每个分区都是用来组成整个文件系统的一部分。因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来。这时要载入的那个分区将使它的存储空间在这个目录下获得。

下面介绍几个重要的命令

挂载命令

   
mount [-parameters] [设备名称] [挂载点]

卸载命令

   
umount [挂载点]

查看磁盘使用情况

   
df [-parameters]

df -h

df ‐l

df [目录全路径],查看某个目录是在哪个分区

查看linux系统分区具体情况

   
fdisk ‐l

shell编程

其实作为命令语言互动式地解释和执行用户输入的命令只是shell功能的一个方面。shell还可以用来进行程序设计。它提供了定义变量和参数的手段以及丰富的程序控制结构。使用shell编程类似于DOS中批处理文件,称为shell
script,又叫shell程序或shell命令文件。

shell脚本文件:

是一个文本文件

命令的集合

有执行的权限

执行方式(./文件名)

用export可以临时加入一个系统路径,如export PATH=$PATH HOME/bin:/root/test/t1,输出环境PATH,引用原来的值$PATH,$HOME表示工作主目录,:是路径分隔符

shell通配符

   
*代表多个字母或数字

?代表一个字母或数字

【案例】ls a* ls a? ls f080[1-6].tif

转义字符\

   
【案例】ls /mnt/win1/My\Documents

单引号:不处理任何变量和命令

   
【案例】echo ‘Welcome $NAME, the date is date ’

双引号:处理变量但不处理命令

【案例】echo “Welcome $NAME, the date is date “

反引号:把引号中的每个单词作为一个命令,如果是变量则先求值然后作为一个命令处理

   
【案例】echo “Welcome $NAME, the date is `date` “

查阅历史记录

history,查看使用过的命令的历史记录

history 5,此项说明会显示最近使用的5个命令

!5,此项说明执行历史编号为5的命令

!ls,此项说明执行最后一次以“ls”开头的命令

基础知识全面LINUX的更多相关文章

  1. Nginx入门篇-基础知识与linux下安装操作

    我们要深刻理解学习NG的原理与安装方法,要切合实际结合业务需求,应用场景进行灵活使用. 一.Nginx知识简述Nginx是一个高性能的HTTP服务器和反向代理服务器,也是一个 IMAP/POP3/SM ...

  2. RabbitMQ基础知识及Linux安装

    RabbitMQ: RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现. AMQP协议: AMQP,即Advanced Message Qu ...

  3. 【分享】4412开发板-嵌入式Linux开发须要掌握的基础知识和技能

    本文转自迅为电子论坛:http://www.topeetboard.com 1.Linux 基础 安装Linux操作系统 Linux文件系统 Linux经常使用命令 Linux启动过程具体解释 熟悉L ...

  4. Linux基础知识梳理

    Linux基础知识梳理 Linux内核最初只是由芬兰人林纳斯?托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的.Linux是一套免费使用和自由传播的类Unix操作系统,是 ...

  5. Linux基础知识整理

    一.基础知识 1.Linux简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件 ...

  6. linux基础知识与技能2

    3.编辑器vi的使用(vi和vim的联系)什么是编辑器?编辑器就是一款软件,它的主要作用就是用来编辑.譬如编写文件,编写代码.Windows中的常用编辑器,如自带的notepad.比较好用的notep ...

  7. linux基础知识与技能1

    1.隐藏文件与非隐藏文件Linux中:linux中隐藏文件特点是文件名以.开头,跟文件属性无关.在linux中查看隐藏文件用ls -a命令(普通显示ls)2.相对路径与绝对路径什么是路径:路径是用来标 ...

  8. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  9. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

随机推荐

  1. 千万别在开发阶段用 uglify 插件了!(from Requirejs to Webpack)

    webpack 各种好用,打算把 sf.gg 的前端构建工具从 gulp+requirejs 尝试着迁移到 webpack,没想到刚迈出第一步随即翻车. 因为 sf.gg 本质是个后端路由项目,每个页 ...

  2. 【三十一】thinkphp之安装、配置、模块化及URL模式

    一:安装与配置 1.获取ThinkPHP 下载地址:http://www.thinkphp.cn/down.html 2.入口文件 ThinkPHP采用单一入口模式对项目进行部署和访问,所以我们需要通 ...

  3. SSH Secure Shell Client最新版,解决Win10不兼容问题

    SSH的工具很多,像XShell,SecureCRT等等. 不过我一直用的是:SSH Secure Shell Client 主要的原因就是: 软件本身带文件浏览的功能,可以通过拖拽去实现文件上传和下 ...

  4. bootstrap轮播组件之“如何关闭自动轮播”

    在一个页面里使用多个bootstrap轮播组件的时候,如果还让所有轮播图都自动轮播的话,整个画面都在动,会给用户一种很不好的体验感受.所以,需要关闭轮播图的自动轮播. 关闭方法:去除如下属性即可: d ...

  5. Spring的IOC分析(二)源码

    承接上节继续,分析Ioc的工作原理,在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起(同时一个叫DI"依赖注入"或DL"依赖查找" ...

  6. 你必须知道的session与cookie

    Session本质 提到Session我们能联想到的就是用户登录功能,而本身我们使用Session的基础是通过url进行访问的,也就是使用http协议进行访问的,而http协议本身是无状态的,那么问题 ...

  7. 无序列表li横向排列的间隙问题

    今天在写页面的时候,无意中遇到这样一个问题,就是无序列表li横向排列即做成导航栏时,列表项间有间隙. 如: 将列表项li变成列表块后(即将li标签设置为,display:inline-block后), ...

  8. 现代 PHP 新特性系列(三) —— Trait 概览

    Trait是PHP 5.4引入的新概念,看上去既像类又像接口,其实都不是,Trait可以看做类的部分实现,可以混入一个或多个现有的PHP类中,其作用有两个:表明类可以做什么:提供模块化实现.Trait ...

  9. CC2650LaunchPad 运行contiki hello-world示例程序

    最近做毕设,开始接触contiki. 下载并运行Instant Contiki 3.0 这是官方制作的虚拟机镜像,直接用vmware等工具就可以运行. 从这里下载. 下载并解压后,用vmware运行. ...

  10. 【编程技巧】Ext.MessageBox 大集合 不同的dialog图解加写法

    1.alert对话框 效果图: function a1(){ Ext.MessageBox.alert('title','text');  } 2.confirm案例,确定不确定2个按钮对话框 效果图 ...