希望得到大家的帮助,有错误的话.提出来,我会很感谢您的
linux正确的名字是叫内核(kernel)
shell是现在流行的linux的语言,最开始是一个叫bcpc的语言--->B(语言)-->C(语言)
Unix是一个商标。现在主流的有IBM的AiX,HP的ux,sun的soaris等。
最开始的起源-->1972(C语言)-->1973(BSD)-->sysV系统
|opengroup
1973年由于垄断法的原因unix分出来,被朗讯用到-->Nover|unixware之后sco打专利的案件。如果感兴趣的话,具体的可以去网上找一找相关的资料。
|dos
linux的起源|
|minix(大学教授的一个教学系统) 感觉这两个系统都不怎么好,在原有的minix里改写程序,最开始是发布在大学的校园网。供大家一起来学习,之后有很多 |人觉得这是个很好的系统,之后大家一起来进来修改,在1992前发布了
GUN--创史人(RMS)---FSF最开始是在实验室里进行开发,unix进行商业之后,一个很好的系统应该是一个开放的,这样长会长久。就开始了编写软件linux是一个内核。之后加入GUN组织,现在的linux 叫GUN/linux
Block-512-8M
_____
|446|-->MBR
|64|-->DPT
|2|-->16位的机器编
-----
------------------------
| 推荐的书|
|APUE的内枋编程 |
|TCP/IP |
|--这两本书是同一个人|steven
------------------------
注:以下代有@#为root提示@@为普通用户
常用命令:
ls 显示目录内容
touch建立空文件
rm 删除文件,默认的参数是“-i“ 如果确定删除可以用-->rm-rffilename
mkdir建立目录
rmdir 删除目录,如果目录里不为空不能删除
more翻页查看(只可以一屏一屏,不可以向上看在看)
less查看(可以向上,向下)
cat从上向下查看文件。
tac从下向上查看文件。
du-h/home查看/home的使用情况
df-h查看磁盘空间
tail查看文件末尾,默认为10行。可以加上{-n参数}来看更多tail-f文件名可以看到变化的文件
type显示命令例如typecd可以看到cd是一个内部命令。typepasswd是一个外面命令
man帮助命令系统管理员主要看1、5、8页例如man5passwd程序可以根据自己开发自己选择。-f可以看一下命令帮助有几页例如:man-fpasswd如果看查看一下哪些文件有pdf这个程序,可以man-kpdf
info和man相似。它会显示一些菜单选项,进入按回车键进入相应的帮助。返回上一页按u
elinks文件方式访问网页
typeecho会看到这个是内建命令
shell---->外壳
@#echo$SHELL--->输出当前工作shell
PATH系统命令查找的路径
[root@www~]#whichuseradd
[root@www~]#mv/usr/sbin/useradd/tmp
[root@www~]#useradd
-bash:useradd:commandnotfound
[root@www~]#mv/tmp/useradd/usr/sbin/useradd
[root@www~]#useradd
usage:useradd[-uuid[-o]][-ggroup][-Ggroup,...]
[-dhome][-sshell][-ccomment][-m[-ktemplate]]
[-finactive][-eexpire][-ppasswd][-M][-n][-r]name
useradd-D[-ggroup][-bbase][-sshell]
[-finactive][-eexpire]
如果是自己编译的软件,想和命令一样方便输出来。可以这样做
@#PATH=PATH:/usr/loca/tmp/myplay(这个只是举一个例子,根据你实际安装的情况加)
{(
[root@www~]#typeiptables
iptablesis/sbin/iptables
[root@www~]#typeuseradd
useraddishashed(/usr/sbin/useradd)
[root@www~]#typeif
ifisashellkeyword
[root@www~]#typels
lsisaliasedto`ls--color=tty''
[root@www~]#typealias
aliasisashellbuiltin)
以上是命令的形式,具体的请查看帮助
}
useradd--->增加用户
hostname--->主机名,也可以直接更改,重新启动机器不会成效。配置文件在/etc/sysconfig/network
uname--->查看内核
-a---->显示内核具体信息
id--->显示当前用户ID管理员的ID是0
date--->查看当前日期
%A %a %B %b %C %c %D %d
cal--->查看当前月
例如cal802008
su--->切换用户
su-user记得“-”会把当前的PATH加上的。
ssh--->支持加密数据传输。默认以当前用户登陆。例如sshtengfei@192.168.1.119
telnet--->默认不能使用root。telnet是明文传输密码,对于服务器来说不安全。
exit--->退出
logout--->登出例如@#ksh@#logout@#logout实验看一下就知道了
pstree--->以当前的进程显示树形
关机命令
shutdown-hnow马上关机有提示
shutdown-h1212分钟后关机,可以ctrl c取消
init0先杀进程,再关机。不提示
halt-p-f直接把电关掉
poweroff
重启计算机
shutdown-rnow
init6
reboot
磁盘
df-h查看单位是1000
df-H查看单位是1024
du-sh文件名和ls-alh一样
挂载
mount-tiso9660/dev/cdrom/mnt
mount-tvfat/dev/sda1/mnt默认redhat不支持ntfs
用户和组管理
useradd增加用户
对应文件/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
用户:密码:用户ID:组ID:注译:主目录:shell
对应文件/etc/shadow
root:$1$iiPrrQSB$Xp5p6m1tVVou2H8udwP2s.:13605:0:99999:7:::
bin:*:13605:0:99999:7:::
用户:md5加密码(实际是一个hash算法):日期(相对1970年1月1日有多少天):密码过期时间:密码过期提示时间:保留以后用
对应文件/etc/group
root:x:0:root
bin:x:1:root,bin,daemon
用户名:密码:ID:用户
对应文件/etc/shadow
change改变用户的相关信息例如:change-E2008-08-08tengfei对应的/etc/shadow就会改变
/etc/login.defs-->用户的邮箱位置
目前可以创建的用户是2^32--->4G
useradd--->对应着五个文件一个配置
/etc/passwd/etc/shadow/etc/group
/etc/gshadow/etc/login.defs
/etc/skell(配置)
passwd更改密码
usermod改用户
groupadd增加组还有一些相关的命令groupmodgroupdel
文件类型
ls-al
-表示普通文件
b表示块设置文件
c表示字符设置文件
d表示目录文件
l表示链接文件
s表示unix的网络文件(socket)
p表示管理文件
修改权限
--------------------------------------------------------
|user|运算符modefilename|
|u| rwx|
|chmodg|-rwx/etc/tengfei.txt|
|o|=rwx|
|a|rwx|
|||
---------------------------------------------------------
r(4)读来信w(2)写x(1)执行
例如@#chmod744/etc/tengfei.txt这个文件的用户有全部权力。组和其它s可以读
注意:文件夹必须有x权限,否则是进不去的。
chown文件的拥有者
chown[-R]user文件名
chgrp文件拥有组
chgrp[-R]groupname文件名或者chown:groupname文件名
ln建立链接
硬链接@#lnfile1file2
硬链接的特点:
1,不能跨分区,2,不能给目录作硬链接3,删除链接原始文件
lsof列出正在运行的进程
例如lsof-i:80会找到httpd服务的进程(包括COMMANDPIDUSERFDTYPEDEVICESIZENODENAME)
查看某个文件被哪些进程在读写(bjweiqiong)
lsof文件名
查看某个进程打开了哪些文件(bjweiqiong)
lsof–c进程名
lsof–p进程号
lsofabc.txt显示开启文件abc.txt的进程
lsof-i:22知道22端口现在运行什么程序
lsof-cnsd显示nsd进程现在打开的文件
lsof-ggid显示归属gid的进程情况
lsof d/usr/local/显示目录下被进程开启的文件
lsof D/usr/local/同上,但是会搜索目录下的目录,时间较长
lsof-d4显示使用fd为4的进程
lsof-i用以显示符合条件的进程情况
查找命令
which--->找一个可执行文件(在$PATH里面找)
whereis--->命令、配置文件
locate--->是slocate的一个软连接。updatedb是slocate的数据库,每天凌晨4点进行数据的更新
find查找命令,比上面的要强大一些。速度也是慢了很多。重要的是看疗效啊!
find/-namepasswd查找文件名是passwd
find/type-fpasswd查找
-typec
Fileisoftypec:
bblock(buffered)special
ccharacter(unbuffered)special
ddirectory
pnamedpipe(FIFO)
fregularfile
lsymboliclink
ssocket
Ddoor(Solaris)
find/etc--size-4k文件小于4k
find/etc--size-4k文件大于4k
find/bin-perm777查找权限为777
find/bin-perm-4000|xargsls-al查看文件用UID的.具体的setUID,setGID要网上可以查找到。主要是针对于安全
find/bin-mtime-7(在七天以内变化)
更多的find的资料请查看 find,xargs详述已经发在论坛里了
stat-->显示某个文件的详细信息
grep-R''\''/etc/查找关键字为tengfei
gzip文件名--->压缩文件
gzip-d文件名.gz--解压缩
如果一个文件是.gz被移动后没有后缀的话,可以用gzid-d<文件名>network
bzip2和zip用法和gzip一样。
tar命令
压缩
tarcvf/tmp/tengfei.tar/home/tengfei/tmp/tengfei创建tar包
tarcvfz/tmp/tengfei.tar.gz/home/tenfei
tarcvfj/tmp/tengfei.tar.bz2/home/tengfei/tmp/tengfei创建tar包
tarrvf/tmp/tengfei.tar/etc/hosts把一个文件添加到压缩包里
解压
tarxvf/tmp/tengfei.tar-C/tmp
tarxvfj/tmp/tengfei.tar.bz2/tmp
tarxvfz/tmp/tengfei.tar.gz/tmp
查看tar文件
tar-tvf*.tar或tar-tvfz*.tar.gz
把一个文件添加到tar压缩包里
tar-rvf/tmp/tengfei.tar/etc/hosts
正规表达式 grep
grep''^root''/etc/passwd“^”表示开头
grep''a\{100,120\}''/etc/tmp-->a重复出现100-120次
grep''.\{40,\}''/usr/share/dict/words -->单词数在40个字母以上
grep''^i.\{18\}n$''/usr/share/dict/words-->开头是"i",结尾是"n" 中间单词个数为18个
grep''^i.\{18,20\}n$''/usr/share/dict/words-->开头是"i",结尾是"n" 单词个数为18个到20个之间
grep-v''^#''/etc/squid/squid.conf|grep-v''^$''-->去除"#"注译和为空行。
grep''\<07:19:..\>''/var/log/httpd/access_log--->查看 07时19分访问的记录
grep''\<07:..:..\>''/var/log/httpd/access_log--->查看 07时访问的记录
grep-B2tengfei/etc/passwd
grep-B2-A2tengfei/etc/passwd
-ANUM,--after-context=NUM
PrintNUMlinesoftrailingcontextaftermatchinglines.
Placesalinecontaining--betweencontiguousgroupsof
matches.
-BNUM,--before-context=NUM
PrintNUMlinesofleadingcontextbeforematchinglines.
Placesalinecontaining--betweencontiguousgroupsof
matches.
sort-n-t: 2-r/etc/passwd
-n按照字符排序-t设置插入行号,它是从0开始的-r比较一下相反结果
[tengfei]#sort-n-t: 2-r/etc/passwd|head-n5|cut-d:-f1提出5个用户名
[tengfei]#cut-d:-f1/etc/httpd/conf/httpd.conf|sed''/^$/d''|less-->去掉空白行
[tengfei]#cat/etc/passwd|sed''s/root/roottengfei/;s/tengfei/tmpname'';-->多次修改
[tengfei]#sed-e''/root/d''/etc/passwd-->删除带root行
[tengfei]#sed-e''1,5d''/etc/passwd-->删除1到5行
[tengfei]#sed-e''1,5d''/etc/passwd-->删除1到5行
awk
[tengfei]#/sbin/chkconfig--list|grep6|awk''{if($5=="3:on")print$1}''
具体的一些使用请参考相关资料
过滤器编辑器tr
[tengfei]#tr"a-z""A-Z"-->输入字母自动变成大写,ctrl d结束
[tengfei]#tr"a-z""A-Z"
ps查看进程命令
大多数使用
[tengfei]#ps-ef
[tengfei]#ps-aux关
pstree进程树
自己做proc
[tengfei]#mkdir/tengfei
[tengfei]#mount-tprocnoe/tengfei
[tengfei]#ls/tengfei
/proc/cupinfocpu信息
/proc/menifo内存信息
如须其它的信息,请网上查找
top动态系统信息
进入后参数-r可以调整优先级-M内存排序
nice程序运行优先级别
kill
kill-1PID有时候杀不掉就可以用下面的参数
kill-9PID
skill-9tty1
skill-9sts/1
pkill-9-utengfei
killall-9程序名
有一些是杀不了的。如aio是内核。
了解更多的相关信息mansignal
配置网络命令
ifconfig--->[tengfei]#ifconfigeth0192.168.1.100netmask255.255.255.0up
netconfig--->一种图形化操作
setup--->配置机器相关的信息
网卡配置文件/etc/sysconfig/network-script/ifcfg-eth0
查看当前活动网卡mii-tool
工作模式
一个程序ctrl z停止到后台去fg停止到前台
字符串处理
wc-l文件名
cut-df7/etc/passwd
sort/etc/passwd>passwd_sort
uniq-cpasswd_sort>uniq.passwd_sort看有多少相同的行
系统状况检测
在tty1上
[tengfei@www~]$(whiletrue;doecho-ntengfei>>log;sleep1;done)
在tty2上
[tengfei@www~]$tail-flog-->看变化
在tty1ctrl z在tty2里看变化。jobs看有几个进程在工作。把停止的进程重新进行的话在tty1用fg,之后在tty2看变化
bash快捷键
Tab:自动补完命令行与文件名
Tab键双击可以列出所有匹配的选择
ctrl c结束当前的任务
ctrl z当前任务暂停,并放在后台
ctrl s停止屏幕输出
ctrl q恢复屏幕输出
ctrl l清屏
ctrl d标准输入结束
Ctl-B光标后退,这应该依赖于bash输入的风格,默认是emacs风格的.
Ctl-D从当前shell登出(和exit很像)
Ctl-Gbeep.在一些老的终端,将响铃.
Ctl-Hbackspace,删除光标前边的字符.如:
1#!/bin/bash
2#在一个变量中插入Ctl-H
3
4a="^H^H"#两个Ctl-H(backspaces).
5echo"abcdef"#abcdef
6echo-n"abcdef$a"#abcdf
7#注意结尾的空格^^两个twice.
8echo-n"abcdef$a"#abcdef
9#结尾没有空格没有backspace的效果了(why?).
10#结果并不像期望的那样
11echo;echo
Ctl-I就是tab键.
Ctl-J新行.
Ctl-K垂直tab.(垂直tab?新颖,没听过)
作用就是删除光标到行尾的字符.
Ctl-M回车
变量
echo
unset
export
[tengfei]#a="aa"
[tengfei]#echo$a
[tengfei]#unseta
[tengfei]#echo$a
set
env
将当前新安装的软件加到路径里
[tengfei]#PATH=$PATH:/usr/loca/http/sbin/apacher1
rpm
安装程序
rpm-ivh程序名.rpm
有依靠不可以安装的
rpm-ivh--nodeps--force程序名.rpm
如果用光盘安装的话,用rpm-ivh--aid程序名.rpm可以解决依存关系
卸载rpm-e-nodeps
升级程序rpm-iUh程序名
查询rpm包rpm-qa
系统启动时有关的脚本
/etc/profile--->变量,只有登录才执行
~/.bash_profile
~/bashrc
/etc/bashrc
补一点我做的sed
[tengfei]#chkconfig--list|awk''{if($5="3:on)print$1}''
[tengfei]#chkconfig--list|awk''/3:on/{if($5="3:on")print$1}''
[tengfei]#foriin`chkconfig--list|awk''/3:on/{if($5="3:on")print$1}`'';
dochkconfig$ioff;done-->关闭启动服务,自己先打一下chkconfig看一下,再根据自己的实际去做.
X-windows图形的我就不写了。这些命令你可以去做做。一步一步来。之后一定有些收获的
#X
#xinit
#xhost
#exportDISPLAY="IP"
#xclock
到那个IP的电脑看一下变化,前提那个电脑必须要开x-windows
开起多个x-windows
[tengfei]#startx--:1
linux无人执手安装(anaconda)
编辑服务器的/etc/anaconda-ks.cfg
用光盘引导起来的时候输入在提示boot:linuxks=nsf:/192.168.1.100/varp/ftp/pub/anaconda(注anaconda和服务器起的名字一样)
之后连上网就可以自动安装了
有机器支持网卡启动的话,光盘就不需要了。可以直接连在服务器那边
硬盘分区
fdisk
[tengfei]#fdisk/dev/hda
[tengfei]#fdisk/dev/sda
n-->增加新分区
p-->主分区
e-->扩展分区
l-->逻辑分区
t-->改变分区id
w-->保存
具体的请用m看一下
先激活分区partporbe或reboot
[tengfei]#mkfs.ext3/dev/sda1
格式化有如下
mkfs.ext3;mkfs-text3;mkfs2fs-j
ext2变ext3tune2fs-j/dev/sda2
ext3变ext2tune2fs-o^has_journal/dev/sda4
[tengfei]#mount/dev/sda1/mnt
对有问题的分区的处理
umount/dev/sda2
fsck.ext3-yf/dev/sda2
mount实例
mount/dev/hda1/mnt
mount-text3-oro/dev/sda3/mnt
mount-oremount,rw/dev/sda3/mnt
mount-oremount,rw/
mount-tvfat/dev/sda2/mnt
mount192.168.1.100:/var/ftp/pub/mnt
mount-ousername@passwd192.168.1.100/mnt
mount-tiso9660/dev/cdrom/mnt
mount-a--->挂载/etc/fstab文件的设备
挂载带LABEL分区
[tengfei]#vi/etc/fstab
LABLE=/abc/mntext3defaults00
[tengfei]#e2lable/dev/sda2/abc
[tengfei]#df-h
[tengfei]#umount-a
[tengfei]#mount-a
[tengfei]#df-h
Swap空间的建立
[tengfei]#mkswap/dev/sda2
[tengfei]#swapon/dev/sda2
用文件做Swap
[tengfei]#dd/swapfilebs=1024count=100000相当于100M
[tengfei]#swapon/swapfile
[tengfei]#swapon-s
Autofs配置
[tengfei]#mkdir/test
/etc/auto.mast
/test/etc/test.misc
/etc/test.misc
service-ro,soft,intr192.168.1.100:/var/ftp/pub
[tengfei]#serviceautofsrestart
访问方式
[tengfei]#ls/test-->一般看不到什么的
[tengfei]#cd/test
[tengfei]#ls
[本帖最后由open-end于2007-6-221:14编辑]
linux笔记看看如何(还在写当中 有不足之处希望提出, 我会及时修改.linux笔记看看如何(还在写当中 有不足之处希望提出, 我会及时修改.linux笔记看看如何(还在写当中 有不足之处希望提出, 我会及时修改.linux笔记看看如何(还在写当中 有不足之处希望提出, 我会及时修改.linux笔记看看如何(还在写当中 有不足之处希望提出, 我会及时修改.linux笔记看看如何(还在写当中 有不足之处希望提出, 我会及时修改.linux笔记看看如何(还在写当中 有不足之处希望提出, 我会及时修改.linux笔记看看如何(还在写当中 有不足之处希望提出, 我会及时修改.linux笔记看看如何(还在写当中 有不足之处希望提出, 我会及时修改.linux笔记看看如何(还在写当中 有不足之处希望提出, 我会及时修改.
阅读(640) | 评论(0) | 转发(0) |