一、Linux的系统结构
"/"根目录部分有以下子目录:
1./bin:系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。
2./boot:用于自举加载程序(LILO或GRUB)的文件。当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装在。这个目录也会包含LINUX核(压缩文件vmlinuz),但LINUX核也可以存在别处,只要配置LILO并且LILO知道LINUX核在哪儿。
3./dev:设备文件目录。LINUX下设备被当成文件,这样一来硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。正常情况下,设备会有一个独立的子目录。这些设备的内容会出现在独立的子目录下。LINUX没有所谓的驱动符。
4./sbin:系统执行文件(二进制),这些文件不打算被普通用户使用。(普通用户仍然可以使用它们,但要指定目录。)
5./user目录包含所有的命令、程序库、文档和其他文件。这些文件在正常操作中不会被改变的。这个,目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。
6./var目录包含在正常操作中被改变的文件:假脱机文件、记录文件、枷锁文件、临时文件和页格式化文件等。
7./root:系统管理员(也叫超级用户或根用户)的Home目录。
8./opt:可选的应用程序,譬如,REDHAT5.3下的KDE(REDHAT6.0下,KDE放在其他的XWINDOWS应用程序中,主执行程序在/user/bin目录下)
9./lost+found在文件系统修复时恢复的文件。
界面切换操作:
1.按【向上箭头】和【向下箭头】键可以滚动以前使用过的命令键入了文件名、命令、或路径名的一部分,然后按【Tab】键,会把文件或路径名的剩
余部分补全
2.图形与文本界面切换
图形切换到文本界面(命令行界面):ctrl+alt+f4
文本界面(命令行界面)切换到图形:alt+f7
.:代表此层目录
..:代表上层,目录
cd:改变目录,如cd/home,表示由当前目录进入home目录。
pwd:显示目前的目录。
乱码:/etc/profile中添加export LC_ALL=zh_CN.GBK
注销-重启-关机
1.注销(文本模式)
[root@localhost root]#logout注销系统(锁定界面)
2.重启 rebot
[root@localhost root]#reboot重启系统
3.关机 shutdown
[root@localhost root]#shutdown now 立刻关机
[root@localhost root]#shutdown+5 5分钟后关机
[root@localhost root]#shutdown10:30:在10:30时关机
[root@localhost root]#shutdown -r now:立刻关闭系统并重启
[root@localhost root]#shutdown -r 23:59:指定在23:59时重启动
Linux的基本命令
二、基本命令有10种
包括:目录管理、文件操作、文件查看命令、用户管理、权限管理、系统设置命令、磁盘管理命令、网络通信命令、备份压缩、通用命令
1、目录管理
ls 查看文件目录信息
mkdir 创建目录
mkdir test(目录名)
rmdir 删除空目录
rmdir test(空目录名)
mv命令
重命名
mv test1(原文件名) test2(新文件名)
移动文件
mv test(文件名) 目标绝对路径
注意:mv重命名功能时后面对象仅能是对象名,如果有路径将实现移动功能。
2、文件操作
2.1、touch 新建空文件
touch test.txt(文件名)
2.2、vi命令
vi test.txt(文件名):打开或新建文件,并将光标置于第一行首
vi +n test.txt(文件名):打开文件,并将光标置于第n行首
vi + test.txt(文件名):打开文件,并将光标置于最后一行首
vi +n test.txt(文件名):打开文件,并将光标置于第n行首
vi test1.txt test2.txt….. :打开多个文件,依次编辑,编辑时在末行模式下输入(:n)代表编辑下一个文件,输入(:N)代表编辑上一个文件
vi命令有三种模式,关系图如下:
vi移动光标类命令 (命令行下)
•h:光标左移一个字符
•l:光标右移一个字符
•space:光标右移一个字符
•Backspace:光标左移一个字符
•k或Ctrl+p:光标上移一行
•j或Ctrl+n:光标下移一行
•Enter:光标下移一行
•w或W:光标右移一个字至字首
•b或B:光标左移一个字至字首
•e或E:光标右移一个字至字尾
•nG:光标移至第n行首, 文件首行(1G)
•H:光标移至屏幕顶行
•M:光标移至屏幕中间行
•L:光标移至屏幕最后行
•0:(注意是数字零)光标移至当前行首或者( ^ )
•$:光标移至当前行尾
•G: 光标移至文件的最后一行行首
•:0 光标移至文件首行
•显示行号 :set nu (末行模式)
vi插入文本类命令(在查看模式下输入)
•i:在光标前
•I:在当前行首
•a:光标后
•A:在当前行尾
•o:在当前行之下新开一行
•O:在当前行之上新开一行
vi保存退出命令
:q :退出vi
:wq :保存并退出vi
:w :保存编辑内容
:q! :强制退出
:wq! :强制保存并退出vi
vi复制粘贴(命令模式下)
• yy复制一行
•p 粘贴
• [n]yy复制n行
•p 粘贴
vi剪切与删除(命令模式下)
•dd删除一行
•ndd删除光标行的后n行
•p粘贴上面的内容
vi搜索命令(命令模式下,输入/后面搜索的内容)
•按 n 向后搜索
•按 N 向前搜索
vi替换命令(末行模式下)
•:%(整个文件内容)s/源(准备替换的字符)/目标替换(要替换成什么字符)/g(全局替换)
vi撤销命令(命令模式下)
•u撤销至上一步
•crtl + r恢复至上一步撤销
vi其他命令
•set nu!(末行模式下) 显示行号
•file(末行模式下) 显示当前文件名
2.3、cp命令
将源文件复制至某处
cp -r test1(源文件目录) test2(目标文件目录)
cp test1/test.txt(源文件) test2/…(目标目录)
2.4、mv命令
将源文件剪切至某处
mv test1(源文件) test2(目标目录)
2.5、rm命令
删除文件或目录
rm -rf test.txt强制删除文件或目录,没有友好提示
rm -i 删除文件或目录时会有提示
2.6、wc命令
打印文件中的字符行数、字节数、单词个数等
wc filename 查看文件的行数、字符总数、文字总数
• -c, --bytes:统计字节数
wc -c filename 统计该文件的字节数
• -m, --chars:统计字符数(同上)
• -l, --lines: 统计行数(同上)
• -L, --max-line-length:打印最长行的长度(同上)
• -w, --words: 统计字数(由空白、等分隔)
2.7、sort命令
将文本文件内容加以排序
sort filename 将文件排序
sort -r filename 将文件按倒序排序
2.8、find命令
目录结构中搜索文件,并执行指定的操作
find /etc/(文件路径) -name(参数) filename(文件名)
find -name filename 按照文件名查找文件
find -name “* [A-Z].txt” 查找文件名含有[A-Z]的文件,*代表通配
find -perm filename 按照文件权限来查找文件
find -perm 755 查找755权限的文件
find -user filename 按照文件属性来查找文件
find -group filename 按照文件所属的组来查找文件
find -type [d(目录)] [l(软链接)] [f(文件)] filename 查找某一类型的文件
find / -type d -name ‘*log’ 查找log类型的目录
find -size +(-)10 查找长度大于(小于)10块的文件(1块=512字节)
注意:可以指定目录查询
2.9、grep命令
用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来
grep 要过滤的字符 要过滤的文件
Grep命令:
-c:只输出匹配行的计数。
grep -c A filename 输出该文件中包含A字符的总数
-i:不区分大小写
grep -i A filename 输出与关键字符A的匹配行,不区分大小写
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
Grep -l A te** 查找关键字A的文件名前缀名有te开头的文件
-n:显示匹配行及行号。
grep -n A filename 输出与关键字符A的匹配行,并显示行号
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
grep -r aaa file 搜索file目录下所有文件中是否包含aaa这个字符串
3、文本查看命令
3.1、cat命令
显示文件内容,并且支持将多个文件串连后输出
cat -n test.txt 对文件所有输出进行编号
cat -b test.txt 对文件所有输出进行编号,但空白行不编号
cat filename1 filename2 filename3… 同时显示多个文
3.2、head命令
输出文件最前面的几行数据
head -3(可变) filename 显示该文件的前三行(可变)的数据
3.3、more命令
分页显示文件内容 (一页一页地显示,仅只能向前)
more +3 -2 filename 显示从第2行开始,每页显示3行数据
•-num:每页显示多少行内容
•+num:从多少行开始显示
3.4、less命令
分页浏览 (可以向前翻页与可以向后翻页)
less test.txt 显示文件内容
下翻页 d , 上翻页u,退出是q
3.5、tail命令
命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容.
•-f 循环读取
tail -f filename 循环读取文件
•-n<行数> 显示行数
tail -n n filename 打印输入最后n行的内容
tail -f -n n filename 循环打印最后n行的内容
•-c<数目> 显示的字节数
4、用户管理(在home目录下操作)
4.1、useradd = adduser
建立用户帐号
useradd 参数 新建的用户名
-c <备注> 加上备注文字。备注会保存在passwd备注栏位中
useradd -c (备注) user 新建user用户并添加备注
-d <登入目录> 指定用户登入时的启始目录。
-e <有效期限> 指定帐号的有效期限。时间格式:yyyy-mm-dd
-g <群组> 指定用户所属的群组。
-r 建立系统帐号。
-s <shell> 指定用户登入后所使用的shell。
-u <uid> 指定用户ID
useradd -u 766(指定的uid) user 新建user用户并指定UID
-p(password) 加密型密码,查看使用 tail -l /etc/shadow(谨慎使用)
id user 查看用户
4.2、passwd
passwd user 为用户user添加密码
passwd文件介绍
1 2 3 4 5 6 7
•1: 登录名
•2: 口令 (密码)
•3: 用户标识号(UID)
•4: 组织标识
•5: 用户名 用-c创建内容
•6: 用户主目录
•7: 命令解释程序 如/bin/bash 用户登录系统时运行的程序
tail -l /etc/shadow 查看加密后的用户账号和密码使用
4.3、usermod
修改用户帐号
usermod -参数 user
-c <备注> 修改用户帐号的备注文字。
-d <登入目录> 修改用户登入时的目录。
-e <有效期限> 修改帐号的有效期限,格式:YYYY-MM-DD
-g <群组> 修改用户所属的群组。
usermod -g root user 将user用户所属组改为(root创建user用户时该用户默认组是user)
-L 锁定用户密码,使密码无效。
-s <shell> 修改用户登入后所使用的shell。
-u <uid> 修改用户ID。
-U 解除密码锁定。
4.4、userdel
删除用户帐号
userdel [-r] user userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件
-r 删除用户及其home目录
userdel -r user 删除user及其主目录
4.5、groupadd
建立用户组
-g gid:指定组ID号
-r: 创建系统用户组,低于499系统账号
groupadd -g 123 userg 添加userg用户组,并指定gid为123
cat /etc/group | grep ‘userg’ 查看用户组
4.6、groupmod
更改群组识别码或名称
groupmod [-g <群组识别码> <-o>] [-n <新群组名称>] [群组名称]
-g <群组识别码> 设置欲使用的群组识别码
-n <新群组名称> 设置欲使用的新的群组名称
groupmod -n userg1 userg2 将userg2用户组的组名改为userg1
4.7、groupdel
删除群组
groupdel userg
注意:需要从系统上删除群组时,可用groupdel指令来完成这项工作。倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组
groupdel userg 删除userg用户组
5、权限管理
5.1、ls -l
Linux中将文件的权限分为只读、可写、执行三种,分别以r(read)、w(write)、x(execute)表示
•1、表示文件的类型,“d”表示该文件为目录,也就是通常意义的文件夹,“-”表示该文件是一般文件,“l”表示该文件为一个软链接,也就是通常意义的快捷方式。
•2、表示文件所有者u的权限,其中r为读权限,w为写权限,x为执行权限,
•3、表示文件所属组g的权限,r,w,x含义同上。
•4、表示其他人o对该文件拥有的权限,r,w,x含义同上。
•5、表示(硬)连接数;
•6、表示文件拥有者;
•7、表示文件所属组;
•8、表示文件的大小;
•9、表示文件创建日期&最后修改日期;
•10、文件名称
5.2、chmod
改变文件或目录的访问权限
chmod [-R] 权限 文件名
chmod 467 filename 修改该文件的权限
也可以使用下列方法为用户设定指定权限
•+:添加权限(w、r、x)
•-:删除权限(w、r、x)
•u:文件拥有者 g:文件所属组 o:其他人 a:所有人
•[root@localhost]$ chmod u+x *
•[root@localhost]$ chmod g+rx *
•[root@localhost]$ chmod a-r *
5.3、chown
修改文件所有者和所属组
chown [-R] 权限 文件名
-R 递归修改目录以及其子目录下的所有文件
修改文件的用户及用户组
5.4、chgrp
修改文件所属用户组
chgrp [-R] 组名 文件名
-R 递归修改
5.5、diff
比较两个文件之间的不同
diff [options] from -file to -file
diff test1 test2 比较test1和test2文件的不同
diff -u test1 test2 (合并格式)
•"---"表示变动前的文件,"+++"表示变动后的文件。
•第二部分,变动的位置用两个@作为起首和结束。
diff -c test1 test2 (上下文格式)
•“+” 比较的文件的后者比前着多一行
•“-” 比较的文件的后者比前着少一行
•“!” 比较的文件两者有差别的行