查看: 1185|回复: 1

[教程] 【从0 开始学树莓派】序列之9 Linux 知识你知多少?

[复制链接]

207

主题

2

好友

6043

积分

状元

Rank: 6Rank: 6

  • TA的每日心情
    开心
    2016-8-15 09:30
  • 签到天数: 162 天

    [LV.7]常住居民III

    爱板会员勋章

    发表于 2014-5-15 15:20:44 |显示全部楼层
    转载请注明:http://bbs.ickey.cn/group-topic-id-13434-dialog-1.html#postlist 版权所有!
    本节我们将了解一下Linux 方面的知识,主要是从下面3 个方面进行讲解:
    1.Linux 简单介绍
    2.文件系统
    3.Linux 常用命令介绍
    1.jpg

    一、Linux 简单介绍
    Linux 是一套免费使用和自由传播的类Unix 操作系统,是一个基于POSIX 和UNIX 的多用户、多任务、支持多线程和多CPU 的操作系统。它能运行主要的UNIX 工具软件、应用程序和网络协议。它支持32 位和64 位硬件。Linux 继承了Unix 以网络为核心的设计思想:一个性能稳定的多用户网络操作系统。
    Linux 操作系统诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。Linux存在着许多不同的Linux 版本,但它们都使用了Linux 内核。Linux 可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux 这个词本身只表示Linux 内核,但实际上人们已经习惯了用Linux来形容整个基于Linux 内核,并且使用GNU 工程各种工具和数据库的操作系统。
    二、文件系统
    2.jpg

    1.文件类型
    (A)、普通文件(regular file):就是一般存取的文件,由ls -al 显示出来的属性中,第一个属性为[-],例如[-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为:
    (a)、纯文本文件(ASCII):这是Unix 系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到的数据,例如数字、字母等等。设置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat 是将文件内容读出来)。
    (b)、二进制文件(binary):系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来说,命令cat 就是一个二进制文件。
    (c)、数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。举例来说,Linux 在用户登入时,都会将登录数据记录在/var/log/wtmp 文件内,该文件是一个数据文件,它能通过last 命令读出来。但使用cat 时,会读出乱码。因为它是属于一种特殊格式的文件。
    (B)、目录文件(directory):就是目录,第一个属性为[d],例如[drwxrwxrwx]。
    (C)、连接文件(link):类似Windows 下面的快捷方式。第一个属性为[l],例如
    [lrwxrwxrwx]。
    (D)、设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在/dev 目录。通常又分为两种:
    (E)、块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是/dev/hda1 等文件。第一个属性为
    (F)、字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为[c]。
    (G)、套接字(sockets):这类文件通常用在网络数据连接。可以启动一个程序来监听客
    户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为,最常在/var/run目录中看到这种文件类型。
    (H)、管道(FIFO,pipe):FIFO 也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO 是first-in-first-out(先进先出)的缩写。第一个属性为[p]。
    2.文件结构
    /:根目录,所有的目录、文件、设备都在/之下,/就是Linux 文件系统的组织者,也是最上级的领导者。
    /bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux 常用的命令。系统所需要的那些命令位于此目录。
    /boot:Linux 的内核及引导系统程序所需要的文件目录,比如vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB 或LILO 系统引导管理器也位于这个目录。
    /cdrom:这个目录在刚刚安装系统的时候是空的。可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom
    /dev:dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux 系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用的windows,dos 操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。
    /etc:etc 这个目录是linux 系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。要用到的网络配置文件,文件系统,x 系统配置文件,设备配置信息,设置用户信息等都在这个目录下。
    /home:如果建立一个用户,用户名是"xx",那么在/home 目录下就有一个对应的/home/xx路径,用来存放用户的主目录。
    /lib:lib 是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。
    /lost+found:在ext2 或ext3 文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck 工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。
    /mnt:这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。
    可以参看/etc/fstab 的定义。
    /media:有些linux 的发行版使用这个目录来挂载那些usb 接口的移动硬盘(包括U 盘)、
    CD/DVD 驱动器等等。
    /opt:这里主要存放那些可选的程序。
    /proc:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。
    /root:Linux 超级权限用户root 的家目录。
    /sbin:这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放,是超级权限用户root 的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin 或/usr/local/sbin 目录是相似的,凡是目录sbin 中包含的都是root 权限才能执行的。
    /selinux :对SElinux 的一些配置文件目录,SElinux 可以让linux 更加安全。
    /srv 服务启动后,所需访问的数据目录,举个例子来说,www 服务启动读取的网页数据就可以放在/srv/www 中
    /tmp:临时文件目录,用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp 就用来存放临时文件的。/var/tmp 目录和这个目录相似。
    /usr
    这是linux 系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,可以找到那些不适合放在/bin 或/etc 目录下的额外的工具
    /usr/local:这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get 安装的软件。它和/usr 目录具有相类似的目录结构。让软件包管理器来管理/usr 目录,而把自定义的脚本(scripts)放到/usr/local 目录下面、。
    /usr/share :系统共用的东西存放地,比如/usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man 帮助文件。
    /var:这个目录的内容是经常变动的,看名字就知道,可以理解为vary 的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/ www 目录是定义Apache 服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL 的,以及MySQL 数据库的的存放地。
    三、Linux 常用命令介绍
    1.显示目录和文件的命令
    Ls:用于查看所有文件夹的命令。
    Dir:用于显示指定文件夹和目录的命令
    Tree: 以树状图列出目录内容
    Du:显示目录或文件大小
    2.修改目录,文件权限和属主及数组命令
    Chmod:用于改变指定目录或文件的权限命令。
    Chown:用于改变文件拥有属性的命令。
    Chgrp:用于改变文件群组的命令。
    Chattr:用于设置文件具有不可删除和修改权限。
    Lsattr:用于显示文件或目录的隐藏属性。
    3.创建和删除目录的命令
    Mkdir:用于创建目录
    Rmdir:用于删除空的目录
    Rm -f:用于删除不为空的目录
    4.创建和删除,重命名,复制文件的命令
    Touch:创建一个新的文件
    Vi:创建一个新的文件
    Rm:删除文件或目录
    Mv:重命名或移动文件的命令
    Cp:复制命令
    Scp:用于将本地的文件或目录复制到远程服务器
    Wget:用于下载ftp 或http 服务器文件到本地。
    5.显示文件内容的命令
    Cat:用于显示指定文件的全部内容
    More:用分页的形式显示指定文件的内容
    Less:用分页的形式显示指定文件的内容,区别是more 和less 翻页使用的操作键不同。
    Head:用于显示文件的前n 行内容。
    Tail:用于显示文件的后n 行内容。
    Tail -f:用于自动刷新的显示文件后n 行数据内容。
    6.查找命令
    Find:查找指定目录或文件的命令。
    Whereis:查找指定的文件源和二进制文件和手册等
    Which:用于查询命令或别名的位置。
    Locate:快速查找系统数据库中指定的内容。
    Grep:在指定的文件或标准输出,标准输入内,查找满足条件的内容。
    7.关机和重启计算机的命令
    Shutdown:-r 关机后立即重启
    -k 并不真正的关机,而只是发出警告信息给所有用户
    -h 关机后不重新启动
    Poweroff:用于关机和关闭电源
    Init:改变系统运行级别
    0 级用于关闭系统
    1 级用于单一使用者模式
    2 级用来进行多用户使用模式(但不带网络功能)
    3 级用来进行多用户使用模式(带网络全功能)
    4 级用来进行用户自定义使用模式
    5 级表示进入x windows 时的模式
    6 级用来重启系统
    Reboot: 用于计算机重启
    Halt:用于关闭计算机系统
    8.压缩和打包命令
    Tar:用于多个文件或目录进行打包,但不压缩,同时也用命令进行解包
    Gzip:用于文件进行压缩和解压缩命令,文件扩展名为.gz 结尾。
    Gunzip:用于对gzip 压缩文档进行解压缩。
    Bzip2:用于对文件或目录进行压缩和解压缩
    Bzcat:用于显示压缩文件的内容。
    Compress/un compress: 压缩/解压缩.Z 文件
    Zcat:查看z 或gz 结尾的压缩文件内容。
    Gzexe:压缩可执行的文件
    Unarg:解压缩.arj 文件
    Zip/unzip:压缩解压缩.zip 文件
    9.用户操作命令
    Su:切换用户命令
    Sudo:一系统管理员的身份执行命令
    Passwd:用于修改用户的密码
    10.改变目录和查看当前目录命令
    Cd:进入工作目录
    Cd 。。:会退到上一级命令
    Pwd:显示当前用户所在工作目录位置
    11.文件连接命令
    Ln:为源文件创建一个连接,并不将源文件复制一份,即占用的空间很小。
    可以分为软件连接和硬链接。
    软连接:也称为符号连接,即为文件或目录创建一个快捷方式。
    硬链接:给一个文件取多于一个名字,放在不同目录中,方便用户使用。
    Ln 命令参数如下:
    -f:在创建连接时,先将与目的对象同名的文件或目录删除。
    -d:允许系统管理者硬链接自己的目录。
    -i:在删除与目的对象同名文件或目录时先询问用户。
    -n:在创建软连接时,将目的对象视为一般的文件。
    -s:创建软连接,即符号连接。
    -v:在连接之前显示文件或目录名。
    -b:将在连接时会被覆盖或删除的文件进行备份。
    12.帮助命令-----man
    其他命令
    Who:显示系统中有那些用户在使用。
    -ami 显示当前用户
    -u:显示使用者的动作/工作
    -s:使用简短的格式来显示
    -v:显示程序版本
    Free:查看当前系统的内存使用情况
    Uptime:显示系统运行了多长时间
    Ps:显示瞬间进程的动态
    Pstree:以树状方式显示系统中所有的进程
    Date:显示或设定系统的日期与时间。
    Last:显示每月登陆系统的用户信息
    Kill: 杀死一些特定的进程
    Logout:退出系统
    Useradd/userdel:添加用户/删除用户
    Clear:清屏
    Passwd:设置用户密码
    13.vi 编辑器
    首先用vi 命令打开一个文件
    末行模式命令:
    :n,m w path/filename 保存指定范围文档( n 表开始行,m 表结束行)
    :q! 对文件做过修改后,强制退出
    :q 没有对文件做过修改退出
    Wq 或x 保存退出
    dd 删除光标所在行
    : set number 显示行号
    :n 跳转到n 行
    :s 替换字符串:s/test/test2/g /g 全局替换/也可以用%代替
    / 查找字符串
    14.网络通信常用的命令
    Arp:网络地址显示及控制
    ftp:文件传输
    Lftp:文件传输
    Mail:发送/接收电子邮件
    Mesg:允许或拒绝其他用户向自己所用的终端发送信息
    Mutt E-mail 管理程序
    Ncftp :文件传输
    Netstat:显示网络连接.路由表和网络接口信息
    Pine:收发电子邮件,浏览新闻组
    Ping:用于查看网络是否连接通畅
    Ssh:安全模式下远程登陆
    Telnet:远程登录
    Talk:与另一用户对话
    Traceroute:显示到达某一主机所经由的路径及所使用的时间。
    Wget:从网路上自动下载文件
    Write:向其它用户终端写信息Rlogin:远程登录
    3.jpg


    回复

    使用道具 举报

    13

    主题

    0

    好友

    497

    积分

    秀才

    Rank: 3Rank: 3

  • TA的每日心情
    慵懒
    2014-11-28 09:29
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2014-8-6 23:35:43 |显示全部楼层
    学习了!顶~~~
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-3 14:43 , Processed in 0.144394 second(s), 11 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部