我爱电脑技术论坛's Archiver

AJ 发表于 2008-7-6 12:24

Linux新手教程...第二课...常用命令

linux第一课
[url=http://www.520diannao.com/viewthread.php?tid=6890&highlight=%2Baj]http://www.520diannao.com/viewthread.php?tid=6890&highlight=%2Baj[/url]
这是我上课做的笔记,有点打的有点快可能有些错别字,敬请原谅
cat ~/.bash_history          当前用户用过的命令
fdisk                                划分磁盘
新挂磁盘需要每次加载 hdb1为students
vi /etc/fstab                  编辑启动项
加入 /dev/hdb1    students   ext2   defaults        0 0
mkdir /students               建立students文件夹
init 6                               重起
df -h                               察看当前硬盘
mount -t auto /dev/cdrom /mnt      加载光盘
ls /mnt                                           查看
umount /mnt                                  卸载光盘

tar -cvf aa.tar aa*                                        把所有aa开头的文件加入包aa.tar
tar -tvf aa.tar install.log                                把install.log加入包aa.tar
tar -tvf aa.tar                                                察看包aa.tar
tar -xvf /tmp/aa.tar                                        解aa.tar包
tar -czvf aa.tar.gz aa(文件 文件)                 以z压缩aa到 aa.tar.gz
tar -cjvf aa.tar.dz2 aa(文件 文件)                以j压缩aa到 aa.tar.dz2
tar -xzvf /tmp/aa.tar.gz                                 以z解压
tar -xjvf /tmp/aa.tar.dz2                                以j解压
压缩                                        解压
compresss aa                        uncompress aa    (他自己会找.Z)
gzip aa.hardlink                     gzip -d aa.hardlink.gz
                                              gunzip aa.hardlink.gz
dzip2 install.log                      bunzip2 install.log.bz2        
unzip *.zip

rpm –qa                                       查看所安装的软件包
rpm -qa | grep dhcp                      查找dhcp软件包
rpm -qi bind                                  bind这个包是什么
rpm -qf /etc/named.conf               named.conf这个文件是属于哪个安装包
rpm -ql bind |more                       察看这个软件包安装在那个目录
rpm -ivh dhcp-2.0p15-4.i386.rpm          安装软件包      v代表详细内容 h进度条
rpm -Uvh dhcp-2.0p15-4.i386.rpm         U要大写升级软件包(一般可以直接用Uvh)
rpm -e dhcpcd                                                卸在
df 磁盘空间             du 察看每个文件        du -h 每个文件占多少
du -h -s 当前目录占用多少空间     du -h -s /etc etc目录占多少空间

察看进程
yes>/dev/null &  他会显示进程ID
[1] 715
察看进程
top
k                                  关闭进程写
715                                输入进程ID
9                                关闭进程使用的权限(15最高,强制关闭)
q退出
控制台进程
ps –a                        ps -u    按用户察看
ps -x                            用户启动的,系统启用的?(会有很多?的进程)
ps -aux >/tmp/ps.status 保存到文件
kill 进程ID

建立一个work用户 ,让他执行一个程序然后再用ps察看当前进程
useradd work
password work
123456

renice 2 777                   把现在777号进程优先级变为2
nice -1 top                        运行TOP程序指定优先级为1

yes >/dev/null
按CTRL+Z挂起当前进程
jobs        查看任务状态
bg %1        后台运行任务里1的任务 [1]+ Running        yes >/dev/null &  "&说明是后台执行"
fg %1        恢复前台运行
yes>/dev/null & 运行程序时指定后台执行
kill %1  关闭当前1号任务
cat >/tmp/work,sh                                                写个文件
df –h                                                                用CTRL+D推出,需先回车
cat /tmp/work,sh                                          看一下
at –f /tmp/work.sh 12:00
at –f /tmp/work.sh 3:00pm 10/12/200
at –m –f /tmp/work.sh now+1 min
mail                                                                  查看at命令的执行结果
ls /etc/at.*
/etc/at.deny
cat /etc/at.deny
echo work > /etc/at.deny                         work用户不得使用AT命令
echo work
work
at.deny
echo >/etc/at.allow                                        任何用户不得使用AT命令
echo work >/etc/at.allow                                只用work才能使用

crontab –e                                        任务计划
00 12 * * * /tmp/work,sh   分钟 小时 日 月 星期几 任务
59 23 * 1,3,4 6,0 ps                在1,3,4月的星期六和日的23.59执行PS命令
crontab –l
crontab –l –u work                          查看WORK的任务计划
crontab –e –u work                                修改
echo work >/etc/cron.deny               
echo >/etc/cron.allow                        

收发邮件
mail work                                work发邮件
Suject :to:work                        主题
I am AJ.
.                                                可用CTRL+D 或者“.”回车,退出
Cc:                                                “抄送
/var/spool/mail/work                未查看邮件
/home/work/mbox                        以查看的邮件
mail                                                查看邮件
1        查看邮件1
d                                                删除刚刚查看的邮件
s letter                                        保存刚刚查看的邮件
re                                                回复刚刚查看的邮件

mail
m work                                        转发给wrk
asdfoi                                        正文
~f1                                                转发1号文件
设立别名
vi /etc/aliases
salers:    work,test                salers为work,test的别名,可以同时发2个人

ifconfig eth0 192.168.1.100                        配制eth0网卡IP  重起无效
ifconfig eth0 192.168.1.100 netmask 255.255.255.255
ifconfig eth0 down/up                                起网卡,关网卡
ifconfig eth0:1 172.1.1.1                                给eth0多一个虚拟IP地址(:1:2:3可多个)
ping –s 1024 –c4 192.168.1.100                给192.168.100 发1024字节4次包
ping –s 1024 –c4 -f 192.168.1.100                -f 快速发包
cat /proc/sys/net/ipv4/icmp_echo_ignre_all                本来是0
cat >/proc/sys/net/ipv4/icmp_echo_ignre_all                给成1可禁止别人PING你
vi /etc/sysconfig/network-scripts/ifcfg-eth0                给网卡写开机配置文件
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.7.200
NETMASK=255.255.255.0
ONBOOT=yes
Service network restart                                        运行配置文件
Chkconfig –list | more                                        查看服务
xinetd比较基础的服务
service xinetd start                                   起用此服务
chkconfig –level 35 xinetd on                  xinetd服务在3和5级别可用
配置DHCP
find / -name “dhcpd.conf*”
cp /usr/share/man/man5/dhcpd.conf5.gz /etc/dhcpd.conf
touch /var/lib/dhcp/dhcpd.leases                           #生成一个文件,不生成不能起服务
vi /etc/dhcpd.conf
subnet 192.168.7.0 netmask 255.255.255.0 {                         #网段        
# --- default gateway
        option routers                  192.168.7.50;                         #网关
        option subnet-mask              255.255.255.0;                        

        option nis-domain               "domain.org";
        option domain-name              "domain.org";
        option domain-name-servers      192.168.7.50;                                 #DNS

        option time-offset              -5;     # Eastern Standard Time
        range dynamic-bootp 192.168.7.128 192.168.7.255;     #范围
        default-lease-time 21600;         #秒
        max-lease-time 43200;           #秒
        host ns { #计算机名
                next-server marvin.redhat.com;                                 #不需要,可删掉
                hardware ethernet 12:34:56:78:AB:CD;                 #MAC地址绑定IP
                fixed-address 207.175.42.254;
        }
}
service dhcpd start                                                        #起服务
配置网卡为自动获取
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
Service network restart                                                #重起网卡

文件权限
所有者         组群      其它
[u]读  写 执行[/u] [u]读 写  执行[/u] [u]读 写 执行[/u]
[u]111[/u]     [u]100[/u]    [u]100[/u]               
7            4        4   三个三个转成10进制
chmod 744 test1.txt

[[i] 本帖最后由 AJ 于 2008-7-6 12:57 编辑 [/i]]

麦迪 发表于 2008-7-6 13:02

很不错,这好像是原创课程吧。
麦迪先来支持一下了!![$20]

AJ 发表于 2008-7-6 13:02

整理过

一、        文件基本操作
一)        显示文件内容
1、cat
1)显示/tmp/aa.txt文件的内容:cat /tmp/aa.txt
2)        显示/tmp/aa.txt文件的内容,同时显示行号:cat –n /tmp/aa.txt
2、        head/tail
1)        显示aa.txt文件的前10行:head aa.txt
2)        显示aa.txt文件的前5行:head –n 5 aa.txt
3)        显示aa.txt文件的后10行:tail –n 10 aa.txt
4)        显示aa.txt文件的第11行到第20行:head –n 20 aa.txt|tail –n 10
3、        more/less
1)        分页显示aa.txt文件的内容:more aa.txt 或 less aa.txt
2)        将/tmp目录下文件列表分页显示:ls /tmp|more
二)        显示目录下文件列表ls
1)        显示/tmp目录下文件列表:ls /tmp
2)        以长文件格式显示/tmp目录下全部文件列表:ls –l –a /tmp
3)        将/tmp目录下的全部文件的文件列表导入到/tmp/file/filelist.txt文件中:ls –a /tmp>/tmp/file/filelist.txt
三)        目录操作
1、        建立目录
1)        在/tmp目录下建立dir1目录:mkdir  /tmp/dir1
2)        在/tmp目录下同时建立dir1、dir2、dir3三个目录:mkdir  /tmp/dir1 /tmp/dir2  /tmp/dir3
3)        在/tmp目录下的dir1目录下建立dir2目录,其中dir1目录不存在:mkdir –p /tmp/dir1/dir2
2、        删除目录
1)        删除/tmp目录下的空目录dir1:rmdir dir1
2)        删除/tmp目录下的非空目录dir1:rm  –r -f  /tmp/dir1
3、        转换目录
1)进入/tmp目录:cd /tmp
2)进入根目录:cd  /
3)进入上一级目录:cd  ..
4)进入当前用户的主目录:cd ~
四)        文件复制、移动与删除
1、        复制文件
1)        将/tmp目录下的file1.txt文件复制到/home目录下,命名为doc1.txt:cp /tmp/file1.txt  /home/doc1.txt
2)        将/tmp目录下的所有文件名以file开头的文件复制到/home目录下:cp /tmp/file*  /home
3)        将/tmp/file目录下的所有内容(包含子目录)复制到/home目录下:cp –r /tmp/file /home
2、        移动
1)        将/tmp目录下的file1.txt文件改名为test.txt:mv  /tmp/file1.txt  /tmp/test.txt
2)        将/tmp目录下的所有以file开头,后缀为.txt的文件都移动到/home目录下:mv  /tmp/file*.txt  /home
3)        将/tmp目录下的file1.txt移动到/home下,并改名为aa.txt:mv  /tmp/file1.txt  /home/aa.txt
3、        删除文件
1)        删除/tmp目录下文件名以file开头的所有文件:rm –f /tmp/file*
五)        其它
1、        建立空文件
1)        建立名为aa的空文件:touch aa
2、        wc
1)        显示/tmp/aa.txt文件的行数、字数、字符数:wc  /tmp/aa.txt
2)        显示/tmp/aa.txt文件的字符数:wc –c /tmp/aa.txt
3)        显示/tmp/aa.txt文件的行数:wc –l /tmp/aa.txt
4)        显示/tmp/aa.txt文件的字数:wc –w /tmp/aa.txt
5)        显示/tmp目录下有多少文件:ls –a /tmp|wc –l
6)        显示当前登录用户数:who|wc -l
3、        显示文件类型
1)        显示/tmp/aa.txt文件的类型并追加到/home/file.txt文件中:file /tmp/aa.txt>>/home/file.txt
六)        更改文件权限
1)        将aa.txt文件改为所有者可读可写可执行,所属组可读可执行,其它用户可读:chmod u=rwx,g=r-x,o=r-- aa.txt 或 chmod 754 aa.txt
2)        给aa.txt文件加上组的可写权限,去掉其它用户的执行权限:chmod g+w,o-x aa.txt
3)        更改/tmp/test.txt文件的所有者为work,组为test:chown work:test  /tmp/test.txt
4)        更改/tmp/test目录及其下的所有文件的所属的组改为work:chgrp –R work /tmp/test
5)        更改/tmp/test目录及其下的所有文件的所有者改为work:chown –R work /tmp/test
七)        查找文件
1)        在/tmp目录下查找文件名为file的文件:find /tmp –name file
2)        在/tmp目录下查找文件名以file开头的文件:find /tmp –name “file*”
3)        在/tmp目录下查找文件大小为200个字符的文件:find /tmp –size 200c
4)        在/tmp目录下查找文件类型为d的文件:find /tmp –type d
5)        在/tmp目录下查找文件大小在200字符至400字符之间的文件:find /tmp –size +200c –size –400c
6)        在/tmp目录下查找属于uid为520的用户的文件:find  /tmp  –uid  520
7)        在/tmp目录下查找属于work用户的文件:find /tmp –user work
8)        在/tmp目录下查找文件内容中以shell开头且与shell大小写无关的文件名及其匹配的行(不包括错误信息),并导出到/tmp/aa.txt中:grep –s –i –E “^shell” /tmp/*>/tmp/aa.txt
9)        在/tmp目录下查找以shell开头或以shell结尾,且与shell大小写无关的文件及相应行(不包括错误信息):grep –s –i –E “^shell|shell$” /tmp/*
10)        显示/etc/samba/smb.conf文件中不以#开头的行:grep –v “^#” /etc/samba/smb.conf
11)        显示/etc目录下不包含以#开头的行的文件:grep –L “^#” /etc/*
12)        将文件 /tmp/grepMytxt 中匹配 my, My, mY 或MY 的所有行及其行号导出到 /tmp/grepedMy
grep -i -n “my” /tmp/grepMytxt >/tmp/grepedMy
13)        查找ls命令文件所在位置:whereis ls或which ls
八)        链接文件
1)        在/home目录下建立链接到/tmp目录的符号链接tmp.link:ln –s /tmp  /home/tmp.link
2)        在/home目录下建立链接到/tmp/file1.txt的硬链接tmp.link:ln /tmp/file1.txt /home/tmp.link
二、        用户、组管理
1、        新建用户test,密码为test1234,用户的主目录是/tmp/test,登录shell为/bin/bash,用户帐号为600,属于test1组,有效期到2006/5/17:
useradd –d /tmp/test –s /bin/bash –u 600 –g test1 –e 2006-5-17 test
passwd test
2、        新建用户test,不创建用户主目录:useradd –M test
3、        更改用户test的登录名为test1234:usermod  –l  test1234  test
4、        设置用户test3所在的组为work,并为其添加相应的说明“mygroup”:usermod –g work –c “mygroup” test3
5、        更改用户 test4 相应信息为 姓名:wangping,office: R&D, office phone 021-56536947-123, home phone: 021-63782345
chfn –f ‘wang’ –o ‘R&D’ –p “021-56636947-123” –h “021-63782345” test4
6、        查看用户test4的信息:finger test4  tail –l /etc/passwd
7、        建立test组:groupadd test
8、        将work用户附加到test组中:usermod –G test work
9、        删除work用户及其主目录:userdel –r work
10、        创建一个系统组test:groupadd –r test
11、        查看新建用户时的默认设置:useradd –D
12、        设置系统在以后创建的用户的主目录为/tmp:useradd –D –b /tmp
三、        打包/解包、压缩与解压缩
1、        将/tmp目录下所有文件名以file开头的文件打包,包文件为file.tar,也存放在/tmp目录下:cd /tmp  
tar –cvf  file.tar  /tmp/file*
2、        将/tmp目录下的file.tar文件解包:tar –xvf  file.tar
3、        将/tmp目录下所有文件名以file开头的文件打包压缩,形成文件file.tar,也存放在/tmp目录下:cd /tmp  
tar –czvf  file.tar.gz  /tmp/file*
4、        将/tmp目录下的file.tar.gz文件解包:tar –xzvf  file.tar.gz
5、         1)在/tmp目录下建立dir目录,在dir目录中建立test1、test2目录。
2)在test1目录中建立一个空文件file1、file2
3)将file1、file2文件打包为file.tar,并将其复制到test2中
4)在test2中将file.tar解包
5)将test2中file1、file2文件打包并压缩为file.tar.gz
6)将file.tar.gz解包并解压缩至dir目录中
7)向test1目录的file.tar文件中追加新建的空文件file3:tar –rvf file.tar file3
8)列出file.tar这个打包文件中的文件列表:tar –t file.tar
6、        将/tmp/file1.txt文件压缩为/tmp/file1.txt.gz:
cd /tmp
gzip file1.txt
7、        将/tmp/file1.txt.gz文件解压缩到当前目录下:gzip –d /tmp/file1.txt.gz或gunzip /tmp/file1.txt.gz
8、        将/tmp/file1.txt.zip文件解压缩到当前目录下:unzip /tmp/file1.txt.zip
9、        将/tmp/file1.txt.bz2文件解压缩到当前目录下:bunzip2 /tmp/file1.txt.bz2
10、        将/tmp下所有.html文件打包为html.tar.bz2:tar -cjvf html.tar.bz2 *.html
11、        将/tmp/html.tar.bz2解包到/usr/local中:
cd /usr/local
tar -xjvf /tmp/html.tar.bz2
四、        软件包(rpm)
1、        查询系统已安装的所有软件包: rpm –qa
2、        产生一个已安装的软件包xinetd的详细信息: rpm –qi xinetd
3、        查询以“turbo”开头的软件包是否安装:rpm –qa|grep “^turbo”
4、        列出文件/etc/named.conf属于哪一个软件包:rpm  –qf  /etc/named.conf
5、        安装at软件包:rpm –ivh at-3.18-16.i386.rpm
6、        卸载at软件包:rpm –e at
7、        升级软件包:rpm –Uvh at-3.19-16.i386.rpm
8、        验证所有已安装的软件包:rpm –Va
9、        验证包含/etc/inittab文件的软件包:rpm –Vf /etc/inittab
10、        根据RPM软件包验证包:rpm –Vp at-3.18-16.i386.rpm
五、        进程管理
1、        查询进程的CPU使用情况:top
2、        列出所有进程信息,并存入/tmp/ps.txt:ps –aux>/tmp/ps.txt
3、        终止进程号为435的进程:kill 435
4、        增加一个在2006年9月1日上午9:00运行的任务/tmp/task1.sh
        at –f /tmp/task1.sh 9:00am 09/01/2006
5、        为 work 用户增加一个的 cron 任务,每周三的 12:20 AM 运行 /tmp/test.sh crontab –u work –e
添加:20 12 * * 3 /tmp/test.sh
6、        禁止work用户使用crontab命令:echo work > /etc/cron.deny
7、        列出属于work用户的任务:crontab -u work -l
六、        配置文件
1、        /etc/login.defs:用户默认主目录是否建立、用户密码长度限制等
2、        /etc/aliases:设置用户组,如work:work1,work2,可以给work组发邮件。
3、        /etc/lilo.conf:设置系统引导时的显示名及等待时间等。
4、        /etc/issue.net:设置远程连接时,用户登录前的显示信息
5、        /etc/motd:设置用户登录后的信息
6、        /etc/inittab:设置系统的启动级别等
7、        /etc/profile:设置每个用户的环境信息,如全局变量、命令别名等
8、        /etc/host.conf:设置主机名的查找顺序,如order bind,hosts
9、        /etc/at.allow:如:echo test>/etc/at.allow
10、        /var/log/boot.log
11、        /etc/issue                                        远程登陆的配置文件
12、        /etc/passwd
13、        /etc/shadow
14、        /etc/group
15、        /etc/fstab
16、        /etc/services
17、        /etc/bashrc
18、        用户主目录中的.bashrc
19、        /etc/samba/smb.conf
20、        /etc/samba/smppasswd
21、        /etc/hosts
22、        /etc/host.conf
23、        /etc/named.conf
24、        /var/named/named.local
25、        /var/named/localhost.zone
26、        /var/named/named.ca
27、        /etc/dhcpd.conf
28、        /var/lib/dhcpd/dhcpd.leases
29、        /etc/httpd/conf/httpd.conf
30、        /etc/sysconfig/network
31、        /etc/sysconfig/network-script/ifcfg-lo
32、        /etc/sysconfig/network-scripts/ifcfg-eth0
33、        /proc/sys/net/ipv4/icmp_echo_ignore_all
七、        网络服务器配置
1、        设置IP地址:ifconfig eth0 192.168.1.14
2、        ping、netstat等
3、        telnet服务器
4、        ftp服务器
5、        DHCP服务器:(/etc/dhcpd.conf、/var/lib/dhcp/dhcpd.leases自己建的空文件)
6、        SAMBA服务器(/etc/samba/smb.conf)
7、        DNS服务器(正向解析、反向解析)
8、        Web服务器(/etc/httpd/conf/httpd.conf)
八、        其它
1、        给test发邮件:mail test
2、        设置变量p1的值为test:p1=test
3、        设置系统日期为2007年3月10日10:30:00:date 031010302007.00
4、        显示当前系统版本信息:uname –a
5、        转换用户为work:su work
6、        查询当前目录磁盘使用情况:du –h
7、        显示文件系统数据情况:df –h
8、        挂载U盘到/mnt/usbdisk:
cat /etc/fstab
mount –t vfat /dev/sda1 /mnt/usbdisk
9、        卸载U盘:umount /dev/sda1 或umount /mnt/usbdisk

页: [1]
 

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.