1.Ctrl + C:这个是用来终止当前命令的快捷键,当然您也可以输入一大串字符,不想让它
运行直接 Ctrl + C,光标就会跳入下一行。
2.Tab: 这个键是最有用的键了,也是我敲击概率最高的一个键。因为当您打一个命令打
一半时,它会帮您补全的。不光是命令,当您打一个目录时,同样可以补全,不信您试
试。
3. Ctrl + D: 退出当前终端,同样您也可以输入 exit。
4. Ctrl + Z: 暂停当前进程,比如您正运行一个命令,突然觉得有点问题想暂停一下,就
可以使用这个快捷键。暂停后,可以使用 fg 恢复它。
5. Ctrl + L: 清屏,使光标移动到第一行。
6.学会查询帮助文档 —man expample:man ls
7.ls:
* 不加任何选项也不跟目录名或者文件名
会列出当前目录下的文件和目录,不包含隐藏文件。
*加 “-a” 选项不加目录名或者文件名
会列出当前目录下所有文件和目录,含有隐藏文件。
preserve
run tmp
spool yp
*加 “-l” 选项不加目录名或者文件名
会列出当前目录下除隐藏文件外的所有文件和目录的详细信息,包含其权限、所属主、所属
组、以及文件创建日期和时间。
* 后面不加选项只跟文件名
会列出该文件,其实这样没有什么意思,通常都是加上一个 “-l” 选项,用来查看该文件的
详细信息。
*后面不加选项只跟目录名
会列出指定目录下的文件和目录
8.在 Linux 领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个
服务是永无止境的,除非特殊情况下,不得已才会关机
linux关机流程:
正确的关机流程为:sync –> shutdown –> reboot –> halt
sync 将数据由内存同步到硬盘中。
shutdown 关机指令,您可以 man shutdown 来看一下帮助文档。例如您
可以运行如下命令关机:
shutdown -h 10 ‘ 这个命令告诉大家,计算机将在 10 分钟后关机,并
且会显示在登陆用户的当前屏幕中。
shutdown -h now 立马关机
shutdown -h 20:25 系统会在今天 20:25 关机
shutdown -h +10 十分钟后关机
shutdown -r now 系统立马重启
shutdown -r +10 系统十分钟后重启
reboot 就是重启,等同于 shutdown -r now
halt 关闭系统,等同于 shutdown -h now 和 poweroff
9.Linux远程登录,win推介putty,mac推介iterm2
10.文件的传输:win推介WinSCP,mac推介iterm2
11.在 Linux 里一切皆文件
12.绝对路径:路径的写法一定由根目录 ‘/’写起,例如 /usr/jexus 这就是绝对路径。
相对路径:路径的写法不是由根目录 ‘/’写起,例如,首先用户进入到/, 然后再进入到home ,命令为 cd /home 然后 cd azureuser 此时用户所在的路径为 /home/azureuser 第
一个cd命令后跟‘/home’第二个cd命令后跟‘azureuser’, 并没有斜杠,这个‘azureuser’
是相对于 ‘/home’ 目录来讲的,所以叫做相对路径。
13.pwd 这个命令打印出当前所在目录,cd 后面只能是目录名,而不能是文件名,如果跟了文件名会报错
14.mkdir:创建目录,但级联目录创建会报错
mkdir -p:创建级联目录不报错,直接智能自动创建
15.rmdir’ 只能删除空目录,即使加上 ‘-p’ 选项也只能删除一串的空目录,可见这个命令有很大的局限性,偶尔用下还可以
16.rm,‘-r’ : 删除目录用的选项,等同于 rmdir.
‘-f’ : 表示强制删除,不再提示是否要删除,而是直接就删除了,而后面跟一个不存在的
文件或者目录时,也不会报错,如果不加 ‘-f’ 选项会报错。
关于 rm,通常使用最多便是 ‘-rf’ 两个选项组合用了。不管删除文件还是目
录都可以。但是方便的同时也要多注意,万一您的手太快后边跟了/那样就会把
您的系统文件全部删除的,那就杯具了,要多加小心。
17.‘which’ 这个命令只用来查询某个命令的绝对路径,不常使用
18.将路径“/usr/local/mono”加入$PATH 当中!如何增加?可以使用命令 PATH=$PATH:/ usr/local/mono
19.cp,复制文件,格式 cp 源文件 目标文件,-i : 安全选项,和 ‘rm’ 类似,如果遇到一个存在的文件,会问是否覆盖
20.查看CentOS版本:cat /etc/redhat-release
21.ls -l 查看文件的用户,用户组,其他用户的权限信息,ls -la,包含隐藏文件。
第 1 列,包含的东西有该文件类型和所属主、所属组以及其他用户对该文件的权限。第一列
共 11 位有的文件是 10 位,没有最后面的一位。 其中第一位用来描述该文件的类型。我们看到的类型有 ‘d’, ‘-‘ ,其实除了这两种外还有 ‘l’, ‘b’, ‘c’, ‘s’等。
‘d’ 表示该文件为目录;
‘-‘ 表示该文件为普通文件;
‘l’ 表示该文件为链接文件(linux file)
‘c’ 表示该文件为串行端口设备,例如键盘、鼠标。
‘s’ 表示该文件为套接字文件(socket),用于进程间通信。
后边的9 位,每三个为一组。均为 rwx 三个参数的组合。其中 r 代表可读,w 代表可写,x代表可执行。前三位为所属主(user)的权限,中间三位为所属组(group)的权限,最后三位为其他非本群组(others)的权限
22.sudo groupadd testgroup 创建组 sudo chgrp testgroup test1更改文件test1的组为testgroup
23.‘chgroup’命令也可以更改目录的所属组,但是只能更改目录本身,而目录下
面的目录或者文件没有更改,要想级联更改子目录以及子文件,有个选项可以实
现:sudo chgrp -R testgroup dirb/
24.更改文件的所属主 chown,在 linux 系统中,默认一个目录的权限为 775,而一个文件的
默认权限为 664.
25.文件系统的权限表示方法有两种。
一是直接用r、w、x 来代表文件的所有者(u)、用户组(g)、其他用 户(o)对某一文件或目录
的读、写、执行(x)权限,称为字符表示法,例如上面的-rw-rw-rw-。
二是用一组(三位)八进制数来间接表示文件或目录 的权属,称为数字表示法,例如某文件的权限为 755。
注:所谓数字表示法是指将读取(r),写入 (w) 和执行(x) 分別以 4、2、l 来代表,沒有授予的部份就表示值为 0,然后再把所授予的权限相加而成。
在不考虑 umask 的情况下,新建一个文件或目录的权限应该都是 rwxrwxrwx,但为了提
高安全性,会默认去除新建文件的可执行权限(x),而对于新 建的目录,可执行位 x 与可
否被允许进入该目录有关,因此 Linux 约定:
新建文件的权属是-rw-rw-rw-,权限值是 666。
新建目录的权属是 drwxrwxrwx,权限值是 777。
那么,在给定系统 umask 的情况下,新建文件或目录的默认权限如下赋予:
新建文件的约定权限 - UMASK 表示的权限 = 文件的默认权限
新建目录的约定权限 - UMASK 表示的权限 = 目录的默认权限
这 里的减号(-)更确切地说是屏蔽的意思。
例如当前系统的 UMASK 值为 002,或者表示为--- --- -w-。那么新建一个文件或目录的默认
权限为:
新建文件的约定权限 - UMASK 表示的权限 = 文件的默认权限-rw-rw-rw- - --- --- -w- = -rw-rw-r-
表示在约定权限的基础上屏蔽除所 有者(u)、同组用户(g)之外其他用户(o)的可写权限。此时
当你在系统中新建一个文件时,该文件的默认权限就是-rw-rw-r-了,这样你就会理解 为什
么 UMASK 是一个掩码值了
26.chmod 命令是非常重要的,用于改变文件或目录的访问权限.用户用它控制文件或目
录的访问权限.语法:该命令有两种用法
1. 文字设置法
chmod [who] [+ | - | =] [mode] 文件名?
参数:
操作对象
who 可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组 ID 的所有用户。o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置 mode 所表示的权限可用下述字母的任意组合:r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加 x 属性
2. 数字设置法
我们必须首先了解用数字表示的属性的含义:
0 表示没有权限,1 表示可执行权限,2 表示
可写权限,4 表示可读权限,然后将其相加。所以数字属性的格式应为 3 个从 0 到 7 的八进
制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有"读/写"二种权限,需要把 4(可读)+2(可写)=6(读/写).
数字设置法的一般形式为:
chmod [mode] 文件名?
Linux下的文件搜索:
1.‘which’ 用来查找可执行文件的绝对路径。
2.‘find’ 这个搜索工具是用的最多的一个,所以请您务必要熟悉它。
语法 : find [路径] [参数] 下面介绍几个经常用的参数
‘-atime +n/-n’ : 访问或执行时间大于/小于 n 天的文件
‘-ctime +n/-n’ : 写入、更改 inode 属性(例如更改所有者、权限或者链接)时间大于/小于 n 天的文件
‘-mtime +n/-n’ : 写入时间大于/小于 n 天的文件
‘-name filename’ 直接查找该文件名的文件,这个选项使用很多
Access time 也就是‘atime’是在读取文件或者执行文件时更改的。文件的 Modified
time 也就是 ‘mtime’ 是在写入文件时随文件内容的更改而更改的。文件的 Create time也就是 ‘ctime’ 是在写入文件、更改所有者、权限或链接设置时随 inode 的内容更改而
更改的
3.stat’ 命令可用来列出文件的 atime、ctime 和 mtime。stat /tmp/test 列出tmp文件夹下的test文件的这些时间。
4.常用来搜索文件的命令 find / -name jws 标识搜索名字为jws的文件
5.linux下的文件不像windows下有.exe,.zip等等格式,但是为了便于区分,还是有一些后缀:
*.sh : 脚本或批处理文件 (scripts),因为批处理文件为使用 shell 写成的,所以扩展名就编成 .sh ;
•*Z, *.tar, *.tar.gz, *.zip, *.tgz: 经过打包的压缩文件。这是因为压缩软件分别为 gunzip,tar 等等的,由于不同的压缩软件,而取其相关的扩展名!
•*.html, *.aspx:网页相关文件,分别代表 HTML 语法与 c# 语法的网页文件! .html 的文件可使用网页浏览器来直接开启,至于 .php 的文件, 则可以通过客户端的浏览器来 服务端浏览,以得到运算后的网页结果!
6.链接文件:硬链接(副本) 软链接(指向的实际是实际的文件)
命令: ln
语法 : ln [-s] [来源文件] [目的文件]
ln常用的选项就一个 ‘-s’, 如果不加就是建立硬链接,加上就建立软链接。
例:$ ln - s lunch /home/lun
用户为当前目录下的文件 lunch 创建了一个符号链接/home/lun。
Linux下的用户以及用户组管理:
1.关于某个用户的帐号的管理,最重要的就是/etc/passswd 和/etc/shadow,如果没有这两个文件或者这两个文件出问题,则您是无法正常登录 linux 系统的。;而关于用户群组的管理,最重要的就是/etc/group 和/etc/gshadow 两个文件
2./etc/passwd 是一个纯文本文件,每行采用了相同的格式:由 ‘:’ 分割成 7 个字段,每个
字段的具体含义是:
1)“用户名”是代表用户账号的字符串。通常长度不超过 8 个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(,因为冒号在这里是分隔符。为了兼容起见,登录名中
最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。
2) “口令”一些系统中,存放着加密后的用户口令字。虽然这个字段存放的只是用户口令
的加密串,不是明文,但是由于/etc/passwd 文件对所有用户都可读,所以这仍是一个安全
隐患。因此,现在许多 Linux 系统(如 SVR4)都使用了 shadow 技术,把真正的加密后的
用户口令字存放到/etc/shadow 文件中,而在/etc/passwd 文件的口令字 段中只存放一个特
殊的字符,例如“x”或者“*”。
3)“用户标识号”是一个整数,系统内部用它来标识用户,也叫做 uid。一般情况下它与用
户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同
一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录 Shell 等。 通常用户
标识号的取值范围是0~65 535。0是超级用户root的标识号,1~99由系统保留,作为管
理账号,普通用户的标识号从 100 开始。在 Linux 系统中,这个界限是 500。
4)“组标识号”字段记录的是用户所属的用户组,也叫做 gid。它对应着/etc/group 文件中
的一条记录,其实/etc/group 和/etc/passwd 基本上类似。
5) “注释性描述”字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,
这个字段并没有什么实际的用途。在不同的 Linux 系统中,这个字段的格式并没有统一。在
许多 Linux 系统中,这个字段存放的是一段任意的注释性描述文字,用做 finger 命令的输出。
6) “主目录”,也就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大
多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目 录的名称就是
该用户的登录名。各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录
的访问权限则根据具体情况设置。
7) 用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系
统后运行的命令解释器或某个特定的程序,即 Shell。Shell 是用户与 Linux 系统之间的接口。Linux 的 Shell 有许多种,每种都有不同的特点。常用的有 sh(Bourne Shell), csh(C Shell), ksh(KornShell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。系统管理员可以根据系统
情况和用户习惯为用户指定某个 Shell。如果不指定 Shell,那么系统使用 sh 为默认的登录 Shell,
即这 个字段的值为/bin/sh
7.再来看看/etc/shadow 这个文件,和/etc/passwd 一样,每行代表一个用户,使用符号“:”
分割成 9 个字段
1、 username:用户名,跟/etc/passwd 对应,这个字段不用过多解释,不过系统管理员需
要知道一点,在系统安装完毕后,除了 root 特权帐户外,系统还会自动建立不少的用户。
这些用户往往用来完成一些特殊的作业。为此在没有了解这些帐户的用途之前,不要轻易更
改系统创建的用户。而系统管理员的用户通常情况下都是保存在最后面。也就是说,其记录
的顺序是按照帐号创建的先后顺序来保存的。这对于系统管理员迅速定位帐户信息能够提供
一定的帮助。
2、 passwd:密码,如果为空,表示用户密码为空,如果是“*”,表示该用户有效但不能
登录。这个才是该账号的真正的密码,不过这个密码已经加密过了,但是有些黑客还是能够
解密的。所以,该文件属性设置为 000,但是 root 账户是可以访问或更改的。为此在一些安
全性要求比较高的企业中,建议大家采用 MD5 编码。如此的话,这里显示的字符串长度就
会有 256 个字符,其破解的难度就会大的多。有时会这个字符串为空白,就表示这个帐户没
有设置密码。在设置密码的时候,用户最好不要依靠密码的长度来提高安全性;而最好是通
过密码的复杂性,如字符与阿拉伯数字混用等手段来提高操作系统的安全。
3、 lastchg:表示从 1970 年 1 月 1 日起到上次修改口令所经过的天数。这个数字是这样计
算得来的,例如上次更改密码的日期为 2013 年 1 月 1 日,则这个值就是 ‘365 x (2013-1970)
+ 1 = 15696’.
4、 min:表示两次修改口令之间至少经过的天数,默认是 0,即不限制。
5、 max:这个字段表示密码更改后,距离下次一定要更改口令的天数。有时候系统管理
员为了安全考虑,会给密码设置一个有效期限。当这个期限到后,就会提示用户更改密码。
特别是当 Linux 服务器暴露在互联网上时,频繁更改密码确实是提高其安全性的一个重要手
段。如输入 60,就代表距离上次更改密码 60 天后,用户就必须更改一个新的口令。如果逾
期不进行更改的话,就会受到警告,最后这个帐户可能就会被注销。
6、 warn:表示口令失效前多少天内系统向用户发出警告若这个值设置成 7,则表示当 7天后密码过期时,系统就发出警告告诉用户,提醒用户他的密码将在 7 天后到期。
7、 inactive:表示禁止登陆前用户名还有效的天数,如果设置这个值为 3,则表示:密码
已经到期,然而用户并没有在到期前修改密码,那么再过 3 天,则这个账号就失效了,即锁
定了。
8、 expire:账号的生命周期,表示用户被禁止登陆的时间,其算法而 3 相同,是按距离1970 年 1 月 1 日多少天算的。它表示的含义是,账号在这个日期前可以使用,到期后账号作废。
9、 flag:无意义,未使用,留做扩展。
上面的分析可以看出 shadow 文件中基本上包含了帐户与密码管理中的所有内容。作为
系统管理员,除了要了解这个文件的基本结构之外,还需要了解这个文件中哪些字段可以更
改。通常情况下,前面三个字段最好不要更改。后面的内容可以根据需要来调整。不过在账
号有效期限这个字段中,不要为 root 帐户设置账号期限。因为 root 账号主要用来做管理用。
如果为其设置有效期限,而期限过期后,那么就没有用户能够来完成系统的维护工作了。通
过配置文件来维护帐户、密码等管理策略,要比通过其他方式简单的多。
8. 新增一个组,命令 : groupadd 不加 “-g” 选项则按照系统默认的 gid 创建组,跟用户一样,gid 也是从 500 开始的。可以用-g 选项自定义 gid,roupadd -g 510 grptest2
9.删除组,命令 : groupdel,这个命令没有特殊选项,但有一种情况不能删除组:用户组中还包含有用户。
10. 增加账户,命令 : useradd
语法 : useradd [-u UID] [-g GID] [-d HOME] [-M] [-s]
‘-u’ 自定义 UID
‘-g’ 使其属于已经存在的某个组,后面可以跟组 id, 也可以跟组名
‘-d’ 自定义用户的家目录
‘-M’ 不建立家目录
‘-s’ 自定义 shell
‘useradd’不加任何选项直接跟用户名,则会创建一个跟用户名同样名字的组。
11.删除账户
命令 : userdel
语法 : userdel [-r] username
‘-r’ 选项的作用只有一个,就是删除账户的时候连带账户的家目录一起删除。
创建/修改一个用户的密码:
1.命令 :passwd
语法 : passwd [username]
等创建完账户后,默认是没有设置密码的,虽然没有密码,但该账户同样登录不了系统。只有设置好密码后方可登录系统。为用户创建密码时,为了安全起见,请尽量设置复杂一些。您可以按照这样的规则来设置密码:
长度大于 10 个字符;
密码中包含大小写字母数字以及特殊字符 ‘*’, ‘&’, ‘%’ 等;
不规则性(不要出现 root, happy, love, linux, jexus, mono,11111111 等等单词或者数字); 不要带有自己名字、公司名字、自己电话、自己生日等。
2.切换用户,语法 : su [-] username
后面可以跟 ‘-‘ 也可以不跟,普通用户 su 不加 username 时就是切换到 root 用户,当然root 用户同样可以 su 到普通用户。’-‘ 这个字符的作用是,加上后会初始化当前用户的各
种环境变量。
如果不加 ‘-‘ 切换到 root 账户下时,当前目录没有变化,而加上 ‘-‘ 切
换到 root 账户后,当前目录为 root 账户的家目录,这跟直接登陆 root 账户是
一样的。当用 root 切换普通用户时,是不需要输入密码的。这也体现了 root用户至高无上的权利,
获取硬盘的属性信息
命令 :df
df 用来检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
df 的参数有:
-a 显示所有文件系统的磁盘使用情况,包括 0 块(block)的文件系统,如/proc 文件系
统。
-k 以 k 字节为单位显示。
-i 显示 i 节点信息,而不是磁盘块。
-t 显示各指定类型的文件系统的磁盘空间使用情况。
-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与 t 选项相反)。
-T 显示文件系统类型。
命令 :du
“du” 用来查看某个目录或文件所占空间大小.语法 : du [-abckmsh] [文件或者目录名]它的参数如下:
-s 对每个 Names 参数只给出占用的数据块总数。
-a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,
也不指定-a,则只显示 Names 中的每一个目录及其中的各子目录所占的磁盘块数。
-b 以字节为单位列出磁盘空间使用情况(系统缺省以 k 字节为单位)。
-k 以 1024 字节为单位列出磁盘空间使用情况。
-c 最后再加上一个总计(系统缺省设置)。
-l 计算所有的文件大小,对硬链接文件,则计算多次。
-x 跳过在不同文件系统上的目录不予统计。
-h 系统自动调节单位,例如文件太小可能就几 K,那么就以 K 为单位显示,如果大到
几 G,则就以 G 为单位显示。
Linux 的防火墙
系统服务管理
系统进程管理
http://www.cnblogs.com/haoshikui/archive/2011/12/29/2306434.html