了解unix与unix基础命令(1)

来源:互联网 发布:股市黑马软件下载 编辑:程序博客网 时间:2024/05/22 06:31

一、Solaris OS:
1、kernel(内核,驱动):负责管理设备、内存、进程,负责系统程序和硬件的交互。管理swap space(交换空间),
daemons(精灵进程,服务进程,后台进程),文件系统等等。
2、shell(外壳,命令解释器):负责找命令并执行,为命令申请进程,
shell 本身是文件
例:windows 的cmd。
linux 里新建终端,相当于建了一个shell, 在咱们的23 服务器上默认的登录shell 就是csh
常用的shell:bash 和csh
区分:bash 提示符:# 超级用户$ 普通用户
csh 提示符:# 超级用户% 普通用户
bash 支持历史命令(即用上下方向键可以翻阅以前所执行的命令)
csh 的语法、环境变量等与sh 是不兼容的
改变shell:
在命令行输入想要的shell 回车,便可把当前的命令解释器改变为所需的shell
例:Bourne shell(sh)的命令是:sh
Bourne-again shell (bash)的命令是:bash
C shell (csh)的命令是:csh
3、unix 文件系统是一颗树
(1) format:分配硬盘的容量,裸设备
例:c0t0d0s0--c(控制器号),t(目标号),d(硬盘号)
如果ctd 这三个数字一样表示是一块硬盘
分区:s0-s7 其中s2 表示硬盘不能用,所以最多划7 个区
(2) newfs :创建文件系统i-node block 和data block
这块区域管理了根文件系统,把其他文件系统挂接(mount)到根文件系统,就是挂目录,能挂
也能卸, 好管理,好维护,
可以用命令: df -k 看文件系统的使用情况,
其中-k 是以千字节的形式显示
绝对路径:从根开始,既以斜线开始的路径称为绝对路径例:/etc/passwd,绝对路径与当前目录无关
相对路径:相对路径所指定的文件是相对于当前工作目录的,不是以斜线开始。
pwd:查看当前工作目录,是个绝对路径

 

二、unix 基本命令:
1、clear:清屏命令
2、id:返回uid,gid
3、cd: 改变当前工作目录,可以使绝对路径或相对路径
例:cd /export/home/hiloo 用绝对路径进入某一级目录
cd home/hiloo 使用相对路径进入某一级目录
cd 返回到当前用户的主目录,但这个与环境变量有关
cd ../.. 向上返回二级,即返回到父目录的父目录
cd .. 返回到父目录,即返回到上一级目录
cd ~dush 使当前工作目录改变到用户名dush 的主目录,
b shell 不支持这个命令,c shell 和bash 支持~
cd ~/dir1 改变到主目录的dir1 目录下
.当前目录例:cd openlab 和cd ./openlab 是等价的
.. 父目录
/ 根目录
4、ls: 查看文件和目录
ls -a: 显示隐藏文件,以点开头的文件。
例:.cshrc .bash_profile
ls -R : 显示递归列表,把所有子目录全部展开
ls -t : 按时间顺序显示
ls -F : 显示文件类型,*表示可执行文件/表示目录@表示链接文件什么都没有表示普通文本文

ls -l : 以长列表形式显示,按文件名顺序显示
ls -ld: 显示当前目录列表,也可以显示指定目录的权限,不指定目录时显示当前目录的权限
ls -lu 按最后一次访问时间排序
ls -lt:以长列表形式显示,按最后一次修改时间排序
- rwx r-x r-x 4 user nobody 1024 Feb 22 09:20 a.txt
文拥同其硬拥拥大最后一次文件
件有组它接有有小修改时间名
类者人人数者组
型权权权
限限限
文件类型:d 代表目录,l 代表链接文件,-是普通文件
拥有者:生成文件的人,权限最高,用u 表示
同组人:系统管理员分配的同组的一个或几个人,用g 表示
其它人:除拥有者,同组人外的人,用o 表示
所有人:包括拥有者、同组人及其它人,用a 表示
对于文件来说:硬链接数>=1
对于目录来说:最小是2,子目录数=这个数-2,这个2 就是.和..,
.代表自己,..代表父目录
用ASCII 码文本显示文件信息可以用file,例:file 文件名
5、chmod:改文件权限
你必须是文件的拥有者或root 才能修改文件权限
rwx- 分别代表读、写、执行、没有权限
也可用数字421 表示:4---r,2---w,1---x
文件:r 可以使用more
w 可以使用vi
x 可以把这个文件作为命令去运行
例:运行一个脚本文件a.sh 回车,a.sh 就要有执行权限
目录:r 可以使用ls
w 在这个目录底下可以创建文件(touch),删除文件(rm),
创建目录(mkdir),删除目录(rmdir)
x 可以使用cd 命令
目录的缺省权限是755
文件的缺省权限是644
chmod g-r file1 删除同组人对file1 的读权限
chmod a=rw file1 所有人对file1 有读写权限
chmod 644 file1 拥有者有读写权限,同组人和其他人有读权限
6、touch:创建新文件
如果文件不存在创建一个新的空文件(0 字节),
如果文件存在则更新最后一次访问和修改的时间
语法:touch filename(s) 例:touch file1
7、mkdir:创建目录
格式:mkdir [-p] 目录名
mkdir dir1/dir2 这条命令应该是mkdir dir1 dir1/dir2
既必须先创建dir1,才能在dir1 下面创建dir2
mkdir dir3 dir4 dir5 在当前目录下创建这三个目录
mkdir ~/games 在主目录下创建games 目录
mkdir -p dir6/dir7/dir8 按照dir6/dir7/dir8 的层次创建这三个目录,用-p 这个选项就可以按层次
创建目录
8、cp:复制文件或目录,备份文件和目录
格式:cp [-i] 原文件名目标文件名
对原文件要有读权限,若目标文件不存在则要对它所在的目录有写权限,若目标文件存在则对目标
文件要有写权限
cp [-i] 多个原文件名目标文件名
cp -r 原目录名目标目录名
cp -r 多个目录名目标目录名
cp beans apple 这条命令的前提条件是要有beans 文件,目标文件若存在则覆盖,不存在则创建
cp beans apple dir2 把beans 和apple 这两个文件拷贝到dir2 目录下
cp /etc/passwd . 把/etc/passwd 这个文件拷贝到自己的主目录,
若第一次做这条命令时,只要对当前目录有写权限就可以执行,
因为会创建一个文件名为passwd 的文件,
若第二次执行相同命令时,就要先把passwd 这个文件的权限加上写权限,否则无法执行。
cp –i beans apple 加上-i 参数,若apple 文件存在时,就会询问是否覆盖,增加交互
cp -r dir6 dir6bak 把dir6 这个目录备份一份为dir6bak,
若dir6bak 不存在时,则dir6bak 的目录结构与dir6 结构相同,
若目标目录存在时,拷贝以后原目录会作为目标目录的子目录
9、mv:改名,移动文件或目录,mv 比cp 速度快,
mv apple beans 给apple 改名,改为beans,
若目标文件或目录名不存在就是改名。
mv beans dir3 把beans 这个文件移动到dir3 的目录下
mv beans .. 把beans 这个文件移到上一级目录
10、rm & rmdir:
rm 删除文件,要求对这个文件所在的目录要有写权限
rm apple beans 删除这两个文件
touch apple beans
chmod 444 apple 把apple 改为只读文件
rm apple 这时再删除只读文件时会有交互,询问是否要删除
chmod 444 beans
rm -f beans 加-f 选项,强制删除只读文件
touch file1
rm -i file1 加-i 选项的话,无论这个文件是什么权限,都会增加交互。
rmdir:只能删除空目录
rm -r dir6 删除只读目录会增加交互
rmdir -rf dir6 强制删除目录
rmdir -ri dir6 删除这个目录时对里面的目录或文件每一个都增加交互
11、ln:创建链接文件
(1) 硬链接:ln file1 file2 file1 和file2 的硬链接数一样
(2) 软链接:ln -s file1 file2 链接数不变,file2 相当于file1 的快捷方式,文件类型为l
区别:硬链接的原文件只能是文件,软链接的原文件可以是文件或目录.
硬链接没有新建文件,增加了硬链接数,增加了inode 的对应关系,
不能跨文件系统
软链接申请新的inode,软链接里存的是原文件的文件名,可以跨文件系统
ls -li i 代表inode 表,硬链接的inode 是一样的.
inode 节点:保存除了文件名以外的这个文件的所有属性。
包括文件大小,类型,数据块,创建时间等等,
i 节点保存在inode 表里,创建创建一个新文件,申请inode
文件的datablock 里保存的是: 文件的内容
目录的datablock 里: 子目录目录名和文件名与inode 的对应关系
12、man:查看帮助
man name 查某一个命令
man –k keyword 把与这个关键字相关的命令都列出来
Spacebar 向下翻屏
b 退回
f 前进
q 退出
/string 向前搜索与string 相匹配的字符
n 查找下一个与string 匹配的字符
13、特殊字符:
(1)* 通配符,0 或多个
ls d* 显示以d 开头的
(2)? 通配符,表示任意1 个字符
(3)[]集合匹配
[b-f] 表示与b-f 中的任意一个字符
(4); 在一个命令行里可以输入多条命令,命令与命令之间用分号相隔
(5)date 返回系统当前日期
(6)cal 返回当月日历
(7)pwd 显示当前目录
例:date;cal;pwd
(8) >输出重定向,重定向的是标准输出设备,
如果重定向的文件不存在则创建新文件,如果文件存在就会覆盖。
例:cal >cal.lst 把当前月的日历输出到cal.lst 的文件里
cal 12 2007>cal.lst 把2007 年12 月份的日历输出到cal.lst 这个文件里
cal >/dev/null 把一个命令的输出扔掉
(9)< 输入重定向
(10)>> 把一个命令的输出追加到一个存在的文件里
(11)|管道,把一个命令的输出传给下一个命令,作为下一个命令的输入
例:ls -l|more 显示当前目录下所有文件或目录,分屏显示
ls -l /etc|more
cal 7 2003|lp 把2003 年7 月份的日历打印出来
(12)tee 把结果输出到两个地方:屏幕和文件
例ls -l|tee tee.lst
tee -a 追加到文件中

 

三、文本文件
1、查看文本文件
(1)cat:不分屏,适合查看小文件,
可以把两个或多个小文件连接起来合并成一个大文件,经常用于合并文件
例:echo a>file1
echo b>file2
echo c>file3
cat file*>newfile 把上面三个文件合并成一个文件
cat /dev/null > ~/b.txt 把>右边的文件置空datablock 没有了,
字节变为0,但inode 还在
cat /etc/passwd|awk -F: '{print $1 "/t" $6}'/
|sort > ~/userinfo
冒号是/etc/passwd 的分隔符,/是换行符,因为这条命令没有写完。
$1,$6 表示这个文件的第1 个字段,第6 个字段。
cat 回车,cat 的标准输入设备是键盘,输准输出设备是屏幕
cat <f1.txt> f2.txt 把f1.txt 文件里的内容输出到f2.txt
(2)more:查看文件内容,可分屏显示,适合查看大文件
按空格继续,底行显示:---还有---(70%),表示已经显示了70%
2、显示文件
head 显示一个文件的前10 行
head -5 /etc/passwd 查看前5 行
tail 显示一个文件的尾10 行
tail -f 时时刷新,常用来查看日志文件,ctrl+c 终止,
另一个终端向日志文件中追加。
例: tail -f cal.lst
另一个终端:cal 3 2007>>cal.lst

原创粉丝点击