基础命令
系统分区
#磁盘由盘片、机械手臂、磁头和主轴马达组成,数据写入是在盘片上面。盘片分为扇面、柱面与扇区,扇区只有512bytes大小。磁盘第一个扇区记录了“主引导分区”(可以安装引导加载程序----Boot loader的地方,即MBR,446bytes大小)和“分区表”(记录了硬盘分区状态64bytes大小)。
#主分区与扩展分区最多有四个(硬盘限制);扩展分区只能有一个(系统限制);逻辑分区是由扩展分区持续切割出来的分区;能够被格式化后作为数据访问的分区为主分区与逻辑分区,扩展分区无法格式化。
#开机流程:
BIOS,开机主动执行的韧体,会认识第一个可开机的设备;
MBR,第一个可开机设备的第一个扇区内的主引导分区块,内包含引导加载程序;
Boot loader,一支可读取内核文件来执行的软件或将引导加载功能转交其它loader;
内核文件,开始操作系统的功能
X Window与命令行模式
#Linux默认提供6个Terminal(即命令行模式)让用户登录,切换方式为[Ctrl]+[Alt]+[F1]~[F6],分别命名为tty1~tty6操作界面环境;若图形界面已打开,按下[Ctrl]+[Alt]+[F7]就可以,若本就在命令行模式下,可执行“startx”命令打开图形界面,为tty7操作界面。
#图形界面下[Ctrl]+[Spacce]可跳出SCIM输入法。[Alt]+F2再输入gnome-terminal可用于在图形界面下打开terminal。
#基础命令
date 查询日期与时间,e.g. date +%Y/%m/%d
cal [month year] 显示日历,e.g. cal 10 2016
bc
计算器,运算符有+,-,*,/,%,^。
scale=n,n为整数,表示取n位小数点
quit退出bc命令环境
nano 文件名 简单的文本编辑器,操作命令直接显示在界面上
man [-fk] [command]
查询命令帮助文件的命令(还有info在线求助命名)
-f显示command的所有帮助文件
-k显示包含command关键词的所有帮助文件
#快捷键
[Tab] Bash shell下具有“命令补全”和“文件补全”的功能
[Ctrl]+c 表示终端目前程序
[Ctrl]+d 代表键盘输入结束,也可用来表示“exit”
#关机与重启
/sbin/shutdown [-krhc] 时间 [警告消息]
-k:不关机,只是发送警告消息
-r:在停掉系统服务之后就重启
-h:在停掉系统服务之后就关机
-c:取消已经在进行的shutdown命令
#若shutdown命令已加入PATH变量中,则直接输入不加/sbin即可
#e.g. shutdown –h now 立即关机
shutdown –k +10 ‘I will reboot the system’ 十分钟后只显示单引号中警告信息
shutdown –r 20:25 ‘I will reboot at 20:25’ 20:25时系统重启并显示警告信息
#reboot是重启命令,还可以使用halt和poweroff –f来关机
#关机前最好执行以下sync同步命令,即将内存中数据写入到硬盘中,避免数据丢失。
账号管理
#账号记录在/etc/passwd中,每一行代表一个账号(包括系统账号bin,dameon,adm等),每列内容分别表示账号名称、密码、UID、GID、用户信息说明列、主文件夹及Shell;账号密码记录在/etc/shadow中,每一行记录一个账号的密码,每列分别表示账号名称、密码、最近更改密码日期、密码不可别更改期限、密码需重新更改天数、密码需更改期限前警告天数等等;
#用户组配置文件为/etc/group和/etc/gshadow中,一个账号可以属于多个用户组(groups命令可查看账号所属用户组),其中有效用户组指的是账号当前所属的用户组,使用“newgrp groupname”改变有效用户组
useradd [–u PID] [–g 初始用户组] [-G 次要用户组] [-c 说明栏] [-d 主文件夹绝对路径] [-s shell] username
增加账户命令,-u后接UID自己指定账户UID号,-g指定账户所属初始用户组,-G指定账户还可加入的用户组,-c加账户说明,通常这些参数均可不加,以默认参数创建账号(记录在/etc/default/useradd中,使用useradd –D命令查看)
e.g. useradd gaussian;
useradd –g users –d /home/gaussian gaussian
passwd [-l] [-u] [-S] [-n 天数] [-x 天数] [-w 天数] [-i 天数] username
修改密码命令,-l是锁定密码,是账号暂时无法登陆;-u是解除锁定;-S列出密码相关参数;-n多久不可修改密码天数;-x多久需更改密码天数;-w密码过期前警告天数;-i密码失效日期;命令后不加账号名则修改当前账号密码,root要尤其注意
e.g. passwd –x 60 –i 10 vbird2
chage –l 账号名 详细显示账号密码参数,也可修改密码参数
usermod [-cdgGalsuLU] username
修改账户参数命令,-c后接账户说明;-d后接主文件夹绝对路径,-g修改GID;-G修改可加入的用户组;-a与-G合用可增加可加入的用户组;-l修改账户名;-u修改UID;-s后接Shell实际文件;-L锁定账号,-U解锁账号,类似于passwd [-lu] username
userdel [-r] username 删除账户,-r连同主文件夹一并删除
#一般用户查看及修改账户数据的命令有finger username(查看账户信息)及chfn(修改账户基本信息)
groupadd [-g GID] groupname 新建用户组,-g自己指定GID
groupmod [-g GID] [-n new_groupname] groupname
修改用户组GID (-g)或组名(-n)
groupdel groupname 删除用户组
w/who 查询目前已登录用户
lastlog 列出每个账号最近登录时间
su [-lm] username 切换用户命令,单纯使用“-”代表使用login-shell的变量文件读取方式登录系统;-l后接username,也是login-shell登录;-m使用当前环境设置,而不读取新用户配置文件;单纯使用“su”表示切换为root且为non-login shell登录
#还有sudo命令,无需欲切换用户密码也可执行,通过visudo命令编辑/etc/sudoers可允许某账户使用部分或全部的root命令功能
文件权限
#对于文件,rwx权限是针对文件内容而言的,r可读取文件内容,w可编辑文件内容但不可删除文件(删除文件与目录权限有关),x可执行该文件(可执行文件);对于目录,r可读取目录结构,w可修改目录结构(新建、删除、重命名或移动文件目录,很强大),x可进入该目录。
chgrp [-R] filename/dirname 改变文件或目录的所属用户组,-R表示同时修改子目录、文件
chown [-R] owner:groupname filename/dirname
改变文件或目录所属用户(加上冒号:groupname也会修改所属用户组)
chmod [-R] xyz filename/dirname
更改权限,xyz为数字,根据user、group、others下具有的r(4)w(2)x(1)权限得到;
也可以[u,g,o,a][+,-,=][r,w,x]形式定义权限,比如chmod u=rwx,g+x,o-w filename,表示user权限为rwx,group加上x权限,others去掉w权限。
文件目录命令
cd dirname&path 切换目录,一些特殊符号(.当前目录..上一层目录-前一个工作目录~主文件夹~account指定账户的主文件夹)
pwd [-P] 显示当前目录(-P显示非连接路径)
mkdir [-mp] dirname&path 新建一个目录,-m后接xyz数值权限,-p直接将路径中目录一同建立
rmdir [-p] dirname&path 删除一个空目录,-p连同上层空目录一同删除
ls [-adhlR] --time={atime,ctime} --full-time dirname&path
显示目录结构,a为显示全部内容d只显示目录,h以MB或GB方式显示目录文件大小,l显示详细信息,R同时列出子目录
默认显示文件目录修改时间(mtime),可设为读取时间atime,改变权限属性时间ctime
--full-time显示完整时间(年月日时分)
cp [-apdrils] source1 source2 … dirname&path
复制文件或目录,a相当于pdr,r递归持续复制,p连同权限属性一起复制,d若文件为连接文件属性,则复制属性而非文件本身,i覆盖时询问,l复制为硬连接文件,s复制为符号连接文件(即快捷方式)
rm [-fir] filename/dirname 删除文件或目录,f忽略不存在文件,i询问是否删除,r递归删除,谨慎使用!
mv [-fiu] source1 source2 … dirname
移动文件或目录,f强制(覆盖时不会询问),i有相同文件时询问是否覆盖,u有相同文件时比source新才会覆盖更新,该参数在cp命令中也可使用,也可用于重命名,即“mv oldname newname”
basename/dirname path路径 basename取出path路径中文件部分,dirname则是目录部分
touch filename 创建新文件,该命令也可修改atime(-a), ctime(-c), mtime(-m)
文件查找命令
whereis filename/dirname 查找文件或目录
locate [-i] filename/dirname 查找文件或目录,-i不区分大小写
find [PATH] [option] [action]
[PATH]:指定查找路径
[option]:
-uid n n为UID,查找该用户文件
-gid n n为GID,查找该用户组文件
-user name 同-uid n
-group name 同-gid n
-nouser 寻找无主孤魂的文件
-nogroup 寻找无用户组的文件
-name filename 寻找名为filename的文件
-size [+-] SIZE 寻找比SIZE大或小的文件
[action]:
-exec command -exec后接其它的命令来处理查找到的结果
文件压缩与打包
gzip [-cdtv#] filename 压缩得到文件后缀名为.gz,参数-c压缩过程产生数据显示在屏幕上,-d解压缩,-t检验压缩文件有无损坏,-v显示压缩比,-#压缩等级(#为1-9数字,数字越大,压缩比越大)
bzip2 [-cdkv#] filename 压缩得到文件后缀名为.bz2,参数-cdv#同上,-k保留原文件
tar -[j/z]cvf filename.tar.bz2/gz 压缩文件或目录,j是bzip2方式,z是gzip方式,c压缩,v显示压缩/解压缩过程中的文件名,f后接文件名
tar -[j/z]xvf filename.tar.bz2/gz 解压缩,参数含义同上,x解压缩,还可加-C参数(后接目录,表示在该指定目录下解压缩)
tar -[j/z]tvf filename.tar.bz2/gz 查看压缩文件,t查看
文件查阅与编辑
Vim命令
上下左右键 上下左右移动字符
n上下左右键 n为数字,上下左右移动n行/字符
n[Enter] n为数字,向下移动n行
[Page down/up] 向下/上移动一页
[Home/End] 移动光标到这一行最前/后面字符处(也可用$)
G 移动到文件最后一行
nG n为数字,移动到第n行
gg/1G 移动到第一行
/word ?word 向下/上查找word字符串
n/N 重复前一个查找操作/反向进行前一个查找操作
:n1,n2s/word1/word2/g n1,n2位数字,在n1至n2行之间查找并替换word1为word2
:1,$s/word1/word2/gc 在第一行到最后一行间替换, c为询问是否替换
x/X [Del/Backspace] 向后/前删字符,nx/X向后/前删n个字符
dd 删除光标所在行
ndd 删除光标所在向下n行
d1G/G/$/0 删除光标所在行到第一行/最后一行,光标所在处到本行最后一个字符/第一个字符内容
yy 复制光标所在行
nyy 复制光标所在向下n行
y1G/G/$/0 复制光标所在行到第一行/最后一行,光标所在处到本行最后一个字符/第一个字符内容
p/P 粘贴在光标下/上一行
u/[ctrl]+r 重复前一个操作/撤销
a/i/o/r(A/I/O/R) 进入插入模式
[Esc] 退出编辑模式,回到一般模式
:wq! : 进入命令模式,w保存,q退出,! 强制
:w