通信人家园
标题: linux命令学习过程 [查看完整版帖子] [打印本页]
时间: 2015-4-30 10:17
作者: 1522182922
标题: linux命令学习过程
Linux安装: 安装linux并不是很难,一般用光盘安装,安装时硬盘默认分为三个:引导分区;根分区;交换分区;分区弄明白了安装也就没什么障碍了。还有从硬盘安装,我当初从硬盘安装linux时颇费一番周折,幸亏有platinum和shadowmin老师的及时指点才得以顺利安上,再次感谢一下:)附硬盘安装原文:
注:装linux是要写规范主机名。如host.abc.com
作服务器时系统CMOS时间应设为格林威治时间,即国际标准时间
linux基本命令:
挂接:单根文件系统使用多个设备的方法。
mount 设备 挂接点
dmesg | grep cd 此命令可看光驱在哪
( 当老师讲到这里的时候机器出了点故障,鼠标不动了,老师用了一个命令就使鼠标复活,第一次感叹linux的神奇啊~~~~~原来鼠标还可以重起(windows下还真没想过)
顺便把老师用的命令也抄了下来,呵呵多学了个窍门
重启鼠标命令: /etc/rc.d/init.d/gpm restart
)
解除挂接:umount 挂接点
软盘写法: /dev/fd0
SCSI硬盘写法:/dev/sd(a)括号内可以依次排为b cd…….
USB硬盘SATA硬盘系统都做SCSI硬盘对待。
SCSI光驱写法:/dev/scd(0)括号内为数字零依次后派
USB口的光驱也被认为SCSI光驱。
注:只有先解除挂接可移动设备才可拿出来
shell和文件系统
shell命令: unix中绝大多数都是外部命令。内部命令常用的有cd 很少
dos | shell
dir | ls
type | cat
cd | cd
md | mkdir
rd | rmdir
del | rm
copy | cp
ds | dear
attrib | chown charp chmod
此上命令除了cd 全是外部命令
最重要的命令: man 主题
主题可是shell命令也可是配置文件,还可是C语言函数,但有时shell命令和配置文件相同时打入命令怎么办呢,此时用参数
man 1.命令 2.系统函数 3.标准库函数 5.配置文件
例:查passwd 默认 man passwd 会查到
man passwd(1)命令
此时要用 man 5 passwd 可查配置文件
模糊查找(匹配)参数: -k 例 man –k PPP 和大多数unix中一样k为小写.
第二个重要命令: vi 文件名 (文本编辑器)
它有三种工作模式,缺省为”命令模式”
输入I 进入”插入模式” 按ESC回到命令模式
常见命令: 删一个字符 x
删除一行 dd
恢复操作 u
复制 yy (光标在哪一行将复制哪一行)
粘贴 p (粘贴在光标下面)
在vi重复输入一些命令时,在前面加数字 如插入100个a 则在命令模式下先输入100 按I输入一个a 回到命令模式则会有100个a被插入 5行东西重复3次则输入5yy3p 存盘退出用大写ZZ
“末行模式”常见是搜索字符.用”/”在命令模式下输入
“/”加字符串.在手册中也能用
“;”会引发末行模式.可用”;”跳到某一行”;”加数字可直接到那
“;”还可用与文件操作
“;q”可直接退出
“;q!”强制退出
“;w”存盘不退出
“;wq”存盘退出
“;recover”可在出现以外后修复文件
“;w 文件名”另存为
shell命令的敲法:
命令 参数1 参数2
参数定界:用到” ‘ ‘”(单引号) 用单引号括起的如’abc def ‘是告诉shell消除语法歧义
如要建一文件叫 jack’s daily 却不能用单引号了,此时得用”\”应写为: 例如:
touce jack\’s\ daily
“\”为转意字符,取消反斜杠后一个字符的特殊含义
文件系统
在unix中”.”无特殊含义
unix下区分文件类型的命令 file
unix下是靠文件的头部说明来区分文件格式,所以操作系统不会理会扩展名的
(exe文件头两字母是MZ)
mount 直接回车是显示当前所mount的状态
df 察看磁盘利用状态 磁盘分区
du –h +子文件名 检测文件系统子目录所占空间
pwd查看当前子目录
unix下一个文件可以不可读而可执行,对于子目录而言x就是另外一层含义了,称之为检索。对子目录而言r就是列表权
(经验:不要安装基于文本界面的多媒体应用程序)
如何修改权限
修改属主: chown [-R] 新属主 文件
-R: 将文件夹中的所有文件也更改掉
修改属组: charp [-R] 先属组 文件
修改权限: chmod [-R] 新权限 文件
新权限有两种表示方法:
(1) 直观: 如 rw-r—r—
数字 6 4 4
110100100
(2)字母法: 如 rw-r--r--
u g o
修改文件的访问权限不必非得是root,文件属主也可以
windows文件权限策略是ACL,侧重与灵活性; unix文件系统策略是权限位,侧重用效率;
linux所有权限都放于一个16位的短整数里
linux特有功能(ext2 ext3所体现的):列出所有权限命令:lsattr
设置特殊权限: chattr
连接:
硬连接:硬连接本质使一个文件有两个文件名和windows不同windows中文件属性和文件名是放在一块的,而linux文件名仅是文件名
命令:ln 原文件名 新文件名
硬连接有两限制:(1)不能给子目录建硬连接
(2) 不能跨文件系统建硬连接(即不能跨分区)
在unix下删除一文件的本质是断开一个硬连接,系统会将硬连接数减一,只要不为0则保留文件体。
符号连接:(路径跳转)
命令: ln –s 跳转去向 连接名
注:建符号连接得用绝对路径。写绝对路径此时可建成的在tem下看到的连接是红色的。“à”后面指向的仅一个services但在当前目录即tem下却没有这个文件此时便出错了。
注: 符号连接可跨分区建立
shell
shell 使用: 在unix下常用的是bash
功能:(1)自动完成 按tab键支持路径,在参数位置上按tab会补齐文件名,按两下tab键便可看所有系统命令。
(3) 命令历史:按↑↓ 可查看所打过的历史命令。注:在用户文件夹下有个bash-histroy保存有上次使用的命令。
非shell功能, 虚拟终端功能:按alt+f1~f6切换
鼠标粘贴:左键选择右键粘贴,可跨终端。
*shell如何运行外部命令:
进程:一个正在运行的程序就是一个进程(不严密的解释)
派生:系统的所有进程都是由一个进程派生出来的
shell有一个父进程当接到一个命令时会产生一个子进程,而shell则进入休眠状态,等待子进程结束,子进程完后交给父进程一信息,父进程激活等待。
后台运行命令: 命令 &
作业控制:ctrl+z 把前台作业挂起(暂停)挂起后都会保存在内存中。
怎么知道有作业呢?用jobs命令
fg + 作业号 是把后台暂停作业调回前台
bg + 作业号 是把前台作业换到后台
shell的基本配置:
bash的基本配置是由配置文件组成的./etc/profile称之为shell的全局配置文件。
另外一个文件在个人的目录下 个人目录/.bash-profile
还有个文件在个人的目录下/etc/bashrc 是第二个全局配置文件,保存的是(函数别名等)在个人目录下也有个配置文件~/.bashrc
etc下的文件是全局文件,一经修改所有的用户设置都改了
shell的具体概念:
环境变量: 变量名=变量值 例: LANG=en 是设置语言为英文
LANG=zh-CN.GB18030是设置语言为中文
通过设置shell的变量来决定子进程继承什么样的值。
{变量名=变量值
export 变量名
可简化为 export 变量名=变量值 注:export 不能省略,另外此时定义的变量是当前shell的值,一旦注销便没有了,想固化得修改profile文件
命令env 可查看所有环境变量里面有个path非常重要,它定义了shell命令执行的路径。
Linux下命令执行仅搜索path路径,不会搜索当前目录的外部命令,所以在当前目录下要执行当前目录中的命令需要加”./”命令。
3.引用变量的值: $变量名 例:export PATH= $PATH:/etc/xxx
例如:echo $LANG echo 回显命令 可察看LANG的值
例 export CMD =ls
$CMD –l 等于ls –l
shell管道与重定向
一个进程的缺省标准输入输出分为标准输入;标准输出;标准错误输出三个管子。
控制终端:缺省情况下进程的三个管子通向控制端
输入重定向:命名 < 文件名 解释:原来要从终端读取的命令改成从文件读取。
例如:cat < /etc/hosts 则cat读取的文件不是从键盘而是从hosts文件,cat不知道所要读取的标准输入输出被换成/etc/hosts和cat /etc/hosts不一样,此时是cat直接读取hosts
输出重定向:(1)命名 > 文件名 原来要输出到终端的命令改成输出到文件
(此时叫覆盖式重定向)
(2)命名 >> 文件名
(追加式重定向)
例如: gcc 命令 0:标准的输入
1:标准输出
2:标准错误输出
解释linux最精简的一句话是:linux下一切都是文件。
管道:匿名管道,unix传统进程间通信。
写法: 命令1 | 命令2
命令2处经常出现的是more 或 grep
例如: cat /etc/services | grep ‘http’ 意思是包含有http的输出
磁盘的分区格式化
分区: fdisk -l 列出分区表
fdisk 磁盘而不是某分区 (/dev/had)
command :p 看分区
n 新建分区
d 删除分区
q 不保存退出
w 保存退出
生成文件系统(格式化)
mkfs (make file system)
mkfs -t ext2 /dev/hda5
mkfs -t ext2 –j /dev/hda5 :格式化成ext3格式
挂接:mount /dev/hda5
shell 脚本本身就是程序,是用shell命令构成的,小规模、结构化、模块化、程序设计。
命令: echo 输出信息用
read 输入信息 read+ 变量名
sleep 休眠 sleep+ 秒数
在终端上算数表达式写法: echo $ ((1x2x3))这是整数运算不能带小数点。
/ :除
% :余
shell脚本格式:
第一行必须是 #!/bin/sh
有三种结构 顺序结构 分支结构 循环结构
顺序结构
wait 命令 保证进程同步 等待一个子进程结束 多个并发就用多个wait
例如: #!/bin/sh
echo “1”
sleep 5&
echo “3”
echo “4”
wait
echo”5”
分支结构
if 判断 ; then
T块
Else
F块
fi
判断 test语句 test 表达式 = [表达式
表达式进行文件判断 -f 文件名(检测该文件是否存在且为普通文件
-d 目录名
-r 可读
-w 可写
-x 可执行
例如:
#!/bin/sh
echo “file”
read FileName
if [-f $FileName]; then
echo “yes”
else
echo “no”
fi
字符串比较 相等 串A =串B
不等 串A!=串B
-z 判断字符串是否为零 空为真 非空为假
数值比较: 大于 等于 小于 不等于
a > b $A –gt $B
a≥b $A –ge $B
a≤b $A –lt $B
a=b $A –le $B
a≠b $A –ne $B
逻辑比较: 条件A –a 条件B(与)
条件A-o 条件B (或)
!条件 (非)
例如:
#!/bin/sh
read MARK < /proc/sys/net/ipv4/ip_forward
echo $MARK
if [ $MARK = “0” ]; then
else echo “host”
echo “GATEWAY”
fi
‘ ‘ 反单引号: 如果反单引号后面有语句则将里面的语句运行完后将结果替换此处
。
时间: 2015-4-30 10:42
作者: InSpirit1
加油,linux指令是基本功
通信人家园 (https://www.txrjy.com/) |
Powered by C114 |