Linux Command

来源:互联网 发布:php权威指南 编辑:程序博客网 时间:2024/05/16 00:59



  • Linux系统

Linux系统中的每一个分区都是一个文件系统。Linux将不同分区的文件系统按树形方式形成一个目录层次结构,最上层是根目录。微软的DOS和Windows也是采用树形结构,但是树形结构的根是磁盘分区的盘符,有几个分区就有几个树形结构。

SWAP分区:用作交换空间,它主要把内存上暂时不用的数据存起来,在需要的时候再调进内存内一般说来他的大小是内存的两倍。

/boot分区:它包含了内核和在启动过程中所需要的文件。/boot单独分区的好处是即使跟分区出现问题了,PC依然能够启动。这个分区50M-100M

/分区:这是根目录挂在的位置

主分区(primary partion) + 扩展分区(extended partion)最多只能有四个,当然了扩展分区最多只能有一个。

主分区和扩展分区编号(1-4)从扩展分区划分的逻辑分区(logical)从5开始编号

root@ubuntu:/dev# fdisk sda

  • 目录结构

 /etc/init.d/:所有朋务的预设启动 script 都是放在这里的,例如要吪劢戒者关闭 iptables 的话:『 /etc/init.d/iptables start』、『/etc/init.d/iptables stop』 

/proc 他放置的数据都是在内存当中, 例如系统核心、行程信息(process)、周边装置的状态及网络状态等等。因为这个目彔下的数据都是在内存当中, 所以本身丌占任何硬盘空间啊

 /var 系统工作时预先设置的工作目录,比如各种服务日志、收发的邮件等

 /var/log 系统信息很重要的地方

 /dev/null被称作黑洞:1 cat file.c > /dev/null   2 cat /dev/null > file.c当然是清空file.c这个文件了

 /mnt 让用户临时装载其他的文件系统(mount )。文件系统的装载是指一个文件系统的顶层目录挂载到另一个文件系统的子目录上,使他们成为一个整体。

 /lib 是内核级别的,包含许多被/bin 和 /sbin中程序使用的库文件

 /usr/lib 是用户级别的

 /sbin一般是指超级用户指令主要放置一些系统管理的必备指令。ifconfig fdisk lsmod insmod rmmod shutdown reboot 

 /bin下存放一些普通的基本命令。ls mkdir su rm cp su mount kill tar chmod df 

 /usr/bin 其他一些应用程序和你在后期安装的一些应用程序(usr = unix software source )

 /usr/sbin   其他一些超级用户管理程序和放置一些用户安装的系统管理程序

 /usr/include linux下开发和编译所需的头文件

 /usr/src linux linux内核源码就放在这,编译内核时需要

  • 基本命令

脚本指令路径搜索:which command 

which是根据当前用户PATH环境变量设置的路径去搜索可执行文件的,你在zlm用户下肯定找不到/sbin/ifconfig的。

文件搜索:whereis filename 

他是利用数据库来搜索,find是搜寻硬盘所以whereis会比较快。whereis ifconfig可以搜到啦,跟PATH没关系了,只要系统中有就ok。如果whereis找不到的话就得用find了

find ./ -name  mplayer.c
find ./ -name  "mplayer.*"
find ./ -name  "*" |xargs grep "int main" 查找当前文件夹下包含int main的所有
find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,防止find传过来的参数过长无法处理,这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去


sudo command(sudo会检查/etc/sudoers文件查看该用户是否被授权可以获得超级用户权限)

在这应该注意的是su 和 su -的不同:su是切换到用户,但是不切换环境变量,不会切换到用户家目录

                                                     su - 完整的切换到用户,包括环境变量,用户家目录

free查看当前系统使用情况

zlm@ubuntu:~/linux$ free -m

             total       used       free     shared    buffers     cached
Mem:           495        479         15          0         57        129
-/+ buffers/cache:      292        203
Swap:          508         64        444

df 查看文件系统的磁盘空间占用情况

du filename 查看filename的大小

链接:创建一个文件后,会同时创建一个inode和block。inode存放文件属性信息和指向block的指针,并没有文件名。这里我把文件名看作一个inode的指向吧。所谓的硬连接就是多了一个文件名也指向这个inode。那么软连接呢?新文件名通过这个文件名访问的数据,相当于window的快捷方式啦。

zlm@ubuntu:~$ ln  text  ln_text

zlm@ubuntu:~$ ls -li ln_text text 
681497 -rw-rw-r-- 2 zlm zlm 6 Sep 17 20:48 ln_text
681497 -rw-rw-r-- 2 zlm zlm 6 Sep 17 20:48 text

ln_text text都会指向681497这个inode,inode对应block(实际存储数据的地方)就可以去读取数据了

zlm@ubuntu:~$ ln -s text ln_text 

zlm@ubuntu:~$ ls -li ln_text text 
657345 lrwxrwxrwx 1 zlm zlm 4 Sep 17 21:07 ln_text -> text
681497 -rw-rw-r-- 1 zlm zlm 6 Sep 17 20:48 text


  • 用户、文件

关于账户:

每个帐号都有两个ID(User ID and Group ID)

zlm@ubuntu:~/linux$ vi /etc/passwd

root:x:0:0:root:/root:/bin/bash

当UID是0时,代表这个帐号是系统管理员身份!要想让某个帐号有root权限时,将该帐号UID改为0即可。

因为这个文件所有帐号都能读取,这样一来可能造成密码数据泄漏,因此将密码“x”这个字段放到了/etc/shadow中了

zlm@ubuntu:~/linux$ vi /etc/group

root:*::

第一个字段是组名了,第四个字段是属于这个组的用户名

zlm@ubuntu:~$  useradd -m myuser

-m表示强制建立用户家目录

zlm@ubuntu:~$  userdel myuser

zlm@ubuntu:~$  groupadd  mygroup

zlm@ubuntu:~$  groupdel mygroup (如果有user使用这个群组就不可以删除呀)

 zlm@ubuntu:~$  usermod -g zlm myuser (把myuser用户更改群组到zlm群组)这会修改/etc/passwd myuser用户名对应的第四个字段

关于文件:

zlm@ubuntu:~$  chown myuser filename

zlm@ubuntu:~$  chgrp mygroup filename

zlm@ubuntu:~$  chown myuser:mygroup filename


zlm@ubuntu:~$  chmod [ugoa] [+-=] [rwx] filename

zlm@ubuntu:~$  chmod ug+r,o=x filename

chmod a-x mydir 那么就无法进入mydir这个目录,只有具有x权限才能扯别的!(ls 可以得到目录下文件名列表(当然得有这个目录的r权限才行),但是ls -l就不行了,所以说目录要有x权限才行,但是一般的文件就不用x权限了,因为文件是用来记录数据的嘛,只要有r权限我们就可以vi了)

系统默认创建的目录权限:(-rw-rw-rw-) - (--------wx) = -rw-rw-r--               

系统默认创建的文件权限:(drwxrwxrwx) - (--------wx) = drwxrwxr--  

但是不要这么干呀:文件权限:0666 - 0003 = 663 就变成了rw- rw- -wx有了x权限?当然不行了。  

设置umask

zlm@ubuntu:~$ umask 0003

vi 环境参数设定:

:set autoindent 自动缩排

:set noautoindent 取消自动缩排

:syntax off 关闭语法颜色显示

:syntax on 打开语法颜色显示



进程管理:

ps:

列出在内存中运行的所有进程 ps -aux 一般与管道 grep配合使用

zlm@ubuntu:~$ ps -aux

kill:

-1 一般进程重新读取配置信息,重启 -9将进程强制杀死 -15以正常步骤结束一个进程(我们目录中有时候会有.file.swp这样的文件,可能即使操作文件的时候强制不正常关闭造成的)

jobs:

查看后台进程

bg:

让后台进程运行

fg:

让后台进程到当前中断运行



原创粉丝点击