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 回复刚刚查看的邮件
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]] 很不错,这好像是原创课程吧。
麦迪先来支持一下了!![$20]
整理过
一、 文件基本操作一) 显示文件内容
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]