linux shell(1)
需多练习。有的摘取自鸟哥的私房菜。
1、[用户名@主机 ~(当前目录下)]$(普通用户)/#(root)+指令
指令:command [-options] parameter1 parameter2 ...
注意点:
-options如果是加入选项设定的情况,则需要选项前加"-",-h(或者全称,“--help”);
之间的空格(非词)无论多少,shell都只视为1个;
Enter执行指令(若太长,则用“\”跳脱Enter,让指令连续到下一行)(跳脱条件:“\”必须立刻接特殊字符);
大小写字母一定要区分。
2、echo $LANG:显示目前所支持的语系;LANG=语系(仅适用本次登入):修改语系。
3、date(+格式化公式):(格式化)显示系统时间,如date +'%Y-%m-%d %H:%M:%S'输出2016-08-01 20:20:20;(这里的date后跟“+”和上面的“-”比,相对特殊)
cal [year]/[month] [year]:显示某一年日历/具体年月日历;
bc:开启计算机(quit离开bc的软件环境)。
4、查询命令说明或者文件格式:
一、man(manual) 具体命令名称:命令操作说明书
(空格翻页;q离开;在过程中可使用关键字向下查询“/~”,向上查询“?~”,如“/date”;n和N可以在关键字查询的基础上分别进行向下和向上定位查询
--这些只可以在man page中使用)。
man -f/-k 命令:查找该命令的说明文件及对应说明/查找含有该命令字段的文件列表及相应语句。
(1)代表用户在shell环境中可以操作的指令或可执行文件;
若为(5)指配置文件或某些文件的格式;
若为(8)系统管理员可用的管理指令。
二、另外类似的查询命令说明还有info(info page)命令,也比较好用:
将文件(info格式)拆分成多个段落,段落用页面(节点)显示,根据超链接的形式跳转到对应页面。
用键盘上下左右移动到“*”(也可用Tab键快速在节点间移动),Enter键进入对应页面。也可以用N,P,U去下一个,上一个与上一层的节点。还有一些操作和man类似。
层次关系(鸟哥书):
三、/usr/share/doc/下面各式各样的说明文件。
5、文本编辑器nano(^代表Ctrl,M代表Alt)
nano ~.txt:建立/打开文件;
Ctrl+G:获取帮助(命令说明);(主要的)
Ctrl+X:离开nano;
Ctrl+O:保存文件;
Ctrl+W:查找字符串。
最后可修改文件名称,或者直接Enter键离开。
6、关机(一般需要root权限)
(1)首先了解当前主机的使用状态:
who指令查看当前哪些还在工作;
netstat -a查看网络的联机状态;
ps -aux查看背景执行的程序;
(2)通知在线使用者关机,并逐次关闭服务(预留时间处理):shutdown +~。
常用(时间参数:now/MM:ss/+min 必须加上):
shutdown -r 时间(如now)+~(通知的话):停掉服务后(立即)重启;
shutdown -h 时间(如now)+~(通知的话):停掉服务后(立即)关机。
另外的重启,关机:reboot/halt(不管目前服务,利用硬件关机)/poweroff。
7、数据同步写入磁盘:sync
用于异常关机或者其他未能及时将内存中数据回写到硬盘中的情况,不过上述的关机指令在这之前都会进行sync。(可以在关机时:sync;sync...;reboot)
8、切换执行等级(系统运作模式):init ~
其中四种:run level 0:关机(又一种关机方式)/3:纯文本模式/5:图形接口模式/6:重新启动。
9、文件系统错误解决办法:
有硬件坏轨或者软件数据问题,解决办法一般和挂载目录(所以划分好partition,这样易针对修复)相关:
如根目录没有损毁,进入root,输入fsck 具体挂载磁盘或者分区(如fsck /dev/sda)扫描错误,发现则clear,再重启reboot;
如根目录被损毁,将硬盘接到另一个linux系统机器,并且不挂载(mount),root权限后输入fsck 硬盘装置文件名称。或者用Live CD开机模式,使用fsck修复原本的根目录。
10、忘记root密码:
(1)有sudo权限:
#sudo su root
#passwd
#更改密码
或者直接使用#sudo passwd root修改密码;
(退出root:#exit/logout/Ctrl+D或者重新登录)
(sudo su共同点:都是root用户的权限;不同点:su只是取得root权限,工作环境不变,还是在切换之前用户的工作环境;sudo是完全取得root的权限和root的工作环境。)
(2)没有sudo权限:
使用grub开机管理程序,进入单人维护模式,修改kernel镜像启动参数,关于步骤,网上众说纷纭,每个人遇到的情况也不一样。
参考链接:http://www.cnblogs.com/tr0217/p/4507230.html
http://blog.chinaunix.net/uid-26527046-id-3748986.html
下面是自己的实践:
一、若开始隐藏了grub,则需在开机时显示出来,需要修改/etc/default/grub文件,GRUB_HIDDEN_TIMEOUT=0前面加上“#”->#GRUB_HIDDEN_TIMEOUT=0:
具体shell:
sudo gedit /etc/default/grub;
打开文件并编辑#GRUB_HIDDEN_TIMEOUT=0,保存之后;
sudo update-grub。
二、重启(reboot)之后,进入grub列表:
上下左右键选择Advanced options for Ubuntu选项,enter:
选择recovery mode,千万不要enter,按e键进入编辑模式:
用上下左右键找到linux /boot/vm.......ro recovery \nomodeset,将ro修改成rw(这里每个版本差别最大):
接着Ctrl+x,或者F10,进入另一个选择恢复菜单页面,并选择root,并enter,出现root shell:
接着输入passwd,接下来一系列输入:
退出重新回到recovery菜单页面,并选择第一项resume:
enter:
enter后成功: