//以下内容是初学Linux时候写过的记录和总结
一、文件目录
我们提到的档案包括7种:一般文件-、目录d、连接文件l、字符设备c、块设备b、套接字s、管道p
1)最基本目录操作命令:ls/cd/pwd/mkdir/rmdir
2)拷贝删除移动改名命令:cp/rm/mv
3)获取目录及文件命令:basename/dirname
4)文档显示命令:cat/tac/nl/more/less/head/tail/od
* cat 从第一行开始显示知道最后一行
* tac 从最后一行反照向上显示直到第一行
* nl 显示的时候,顺道输出行号!
* more 可以向下翻页
* less 还可以向上翻页,并且可以同vi简单的查找操作
* head 只看头几行
* tail 只看尾几行
* od 以二进制形式进行输出显示
5)file/touch/umask/chattr/lsattr
* file 获取文件是否是文本,二进制,可执行文件等
* touch 建立一个新文件,修改一文件的时间属性:touch
* umask 设定目前建立文件及目录时的默认属性 //umask/umask -S显示/umask ***设定去掉的权限
* chattr 设定文件的隐藏属性//chattr +a filename只许文件追加不许删除chattr +i 不许删除/改名/设定连接
* lsattr 显示已经设定了的隐藏属性
* SUID/SGID/Sticky bit的概念,
6)which/whereis/locate/find/
* which 在$PATH的路径下进行精确查找文件名文filename的可执行文件,which -a filename
* whereis 在系统的数据库中去寻找包括后面指定的文件或者目录 whereis filename/dirname
//注意:数据库可能是一天才更新一此
* locate 在系统建立的数据库中许找包括指定字符串的文件 locate filename/dirname
* find 在硬盘上进行功能复杂的查找,可以按文件的时间,拥有者,权限,类型及其他属性查找,find [PATH][option] [action]
eg.find / -user username找所有和username相关的文件
find / -name "*.tmp" -exec rm -f {} \; 删除所有的临时文件
* grep 找包括特定字符的那一行 grep abcd filename //当然此命令用法多的是
7)改变挡案的权限:chgrp/chown/chmod
*chgrp 修改此档案所属的群组 chgrp 群组名 filename/dirname
*chown 修改此档案的拥有着 chown 拥有着 filename/dirname
*chmod 改变档案的9个属性,可以用数字和符号来修改 chmod xyz filename/dirname
chmod ugoa+/-/=rwx filename/dirname
注意:对于目录来说r表示是否具有列出目录下的清单的权限,w表示是否具能在该目录下建立删除修改移动目录和文件的权限
x表示是否允许进入该目录
//===============================================================================
二、文件系统操作
目录可以记录文件名和inode相关信息
1、查看文件系统的布局:dumpe2ffs /dev/hda1
2、查看硬盘容量及使用情况:df -h(以最易读方式显示当前磁盘分区及容量)
3、查询某一目录或文档占据的磁盘空间(非文件大小):du
4、建立连接文件:ln 目标文件(建立硬连接)ln -s 目标文件/目录 建立软连接(快捷方式)
5、磁盘的分区:fdisk -l(显示系统下所有的分区信息) fdisk /dev/hda(让你用命令进行操作第一块硬盘分区)
6、分区的格式化:mke2fs [-bicLj] 分区号 -b block大小 -i inode大小 -c 检错 -L 卷标 -j格式为ext3
7、分区的检查:fsck -aC /dev/hda5 加查是否有坏的扇区 若有则放入lost-fonud目录中(注意:检查的时候最后不要挂接)
8、强行写入磁盘:sync 将内存中的数据些会到硬盘中
9、分区的挂接:mount显示当前所有的挂接 mount /dev/sda1(需要挂接的装置) /mnt/D(挂接点是个目录)相关文件:/etc/fstab
10、取消挂接:umount /dev/sda1(直接跟上装置名)或者:umount /mnt/D(直接跟上挂接点)
11、改变分区参数:tune2fs [-jlf] /dev/hda1 -j 将分区转为ext3 -l相当于dumpe2fs -h -L修改卷标
注意:连接文件包括:硬连接和软连接。硬连接其实就是在一个目录下增加一个连接数据,这个连接数据仍然指向文件的inode,硬连接不能连接目录?
软连接就是Windows里面的快捷方式,它是一个单独的文件,有自己的inode和blok数据块,但是文件的内容是原文件的路径名,这个名字可以在
用来找到在目录下的连接数据,并进而找到原文件的inode(目录下的数据都是一个文件的连接数据,用来查找文件伙子目录的inode)
//===============================================================================
三、帐户管理
帐号设置相关文档:/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/default/useradd、/etc/skel/*、/etc/login.defs
man 5 passwd/shadowgroup/gshadow
1、建立一个新的帐号: useradd [-u UID] [-g initial_group] [-G other_group] [-d home]//shell==sbin/nologin的帐号不能登录
2、设置帐号的密码:passwd username
3、修改帐户的属性:usermod [-cdegGlsuLU] username
4、删除帐号:userdel [-r] username -r连同家目录都删除 注意:在删除之前最好find / -user username找出所有和此用户相关档案
5、帐号其他属性查性及设置:chsh/chfn/finger/id
6、增加群组:groupadd groupname
7、修改群组属性:groupmod [-g newgid] [-n newgroup_name]
8、删除群组:groupdel [groupname]
9、用户切换:su使用当前环境设定切换到root su -使用root用户的环境设定切换到root su -l username 切换环境设定和用户
10、查询当前登录用户:w/who/last/lastlog
11、手动建立帐号的命令:pwck/pwconv/pwunconv/chpasswd/
1. 先建立所需要的群组 ( vi /etc/group ); //eg.normalgroup:x:520:
2. 将 /etc/group 与 /etc/gshadow 同步化 ( grpconv ); //直接grpconv
3. 建立账号的各个属性 ( vi /etc/passwd ); //normaluser:x:700:520::/home/normaluser:/bin/bash
4. 将 /etc/passwd 与 /etc/shadow 同步化 ( pwconv ); //直接pwconv
5. 建立该账号的密码 ( passwd accountname ); //输入密码等
6. 建立使用者家目录 ( cp -a /etc/skel /home/accountname );
7. 更改使用者家目录的属性 ( chown -R accountname.group /home/accountname )。
初始群组和有效群组:初始群组就是passwd中指定的群组,除初始群组外该用户属于其他的群组,group文件中最后出现用户名的组
//===============================================================================
四、程序资源管理:
1:让指令或者程序在后台运行:直接在后面加上一个"&"
2:将当前的运行程序或指令到后台并停止运行:ctrl+z
3:查看当前背景下运行的运行的后台程序:jobs -l
4:将后台运行的指令到前台运行:fg %1/2
5:将后台停止运行的指令活程序开始运行:bg %1/2
6:将一后台运行的程序强制删除:kill -9 pid killall -9 name
7:显示所有正在运行的程序:ps -el/ps -A/ps -aux //一般和grep 联合使用
8:动态检测系统运行的程序:top
9:列出当前运行程序的相关性,父子关系:pstree
10:显示当前系统下的内存容量:free -m
11:输出系统的一些基本信息:uname [-asrmpi]
12:显示当前系统已经开机时间:uptime
13:输出开机自检的信息:dmseg |more 可以配和grep来使用
14:找出所有正在使用某一档案或者目录的程序的PID:fuser
15:找出某一进程或某一用户所有正在所用的档案:lsof -u user/-p pid....
//===============================================================================
五、打包解压缩
和压缩相关的文件大概有:*.gz *.bz2 *.tar.gz *.tar.bz2 *.tar
*1)将一目录或文件进行打包(不压缩):tar -cvf /tmp/test.tar /test
查看没有压缩国的tar包内容:tar -tvf /tmp/test.tar
解压缩没有压缩国的tar包:
*2)将一目录或文件进行打包并压缩:tar -czvf /tmp/test.tar.gz /test <==打包后,以 gzip 压缩
查看gzip压缩包中的内容:tar -tzvf /tmp/test.tar.gz
解压缩一个gzip压缩包:tar -xzvf /tmp/test.tar.gz
*3)将一目录或文件进行打包并压缩:tar -cjvf /tmp/test.tar.bz2 /test <==打包后,以 bzip2 压缩
查看bizp2压缩包中的内容:tar -tzvf /tmp/test.tar.bz2
解压缩一个bzip2压缩包:tar -xjvf /tmp/test.tar.bz2
4)将一文件用gzip进行最佳压缩:gzip [-9 -c] man.config [> man.config.gz]//-c保留原来文件,去掉[]则直接压缩
查看经过gzip压缩过包内容:zcat man.config.gz
解开经过gzip压缩过的文件:gzip -d man.config.gz
5)将一文件用bzip2进行压缩:bzip2 -z man.config
查看经过bzip2压缩包内容:bzcat man.config.bz2/bzip2 -9 -c man.config > man.config.bz2(最佳压缩并保留原文件)
解开经过bizip2压缩过的文件:bzip2 -d man.config.bz2
注意:压缩的时候要保留档案属性则需要加上 -p
//===============================================================================
六、安装升级卸载
RPM安装卸载
1)安装:rpm -ivh *.rpm [--test] //加上[]仅测试该套件是否可以安装在本机上
2)卸装:rpm -e *.rpm + rpm --rebuilddb //重新建立rpm数据库
3)升级:rpm -Uvh *.rpm 套件不存在则安装,存在则升级 rpm -Fvh *.rpm 套件不存在则不安装,存在则升级
4)查询操作:
*查询某一套件是否安装:rpm -qa|grep *.rpm
*查询该套件的详细说明:rpm -qi *rpm
*查询该套件安装后存放的目录和文件:rpm -ql *rpm
*查询该套件的所有设置文件:rpm -qc *rpm
*查询该套件的所有帮助文档:rpm -qd *rpm
*查询该套件依赖安装的档案:rpm -qR *rpm
*查询某一档案属于哪一个套件:rpm -qf 档案名
*查询一个并未安装套件的信息:rpm -qp[icdlR] *rpm //[icdlR]的含义和上面相同
附:
*GPG-KEY的导入:rpm --import *-GPG-KEY
*关于SRPM内容可以参考:page 644-652
yum安装卸载
1)查找安装包:yum list|grep name
2)安装包:yum install
3)升级包:yum check-update --> yum update
4)卸载包:yum remove
//===============================================================================
七、网络设置
1)ifconfig
*查询网络接口信息:ifconfig
*修改ip地址信息:ifconfig eth0 *.*.*.* netmask *.*.*.* broadcast *.*.*.*
*修改硬件地址信息:ifconfig eth0 hw ether ** ** ** ** ** **
*绑定另一IP地址信息:ifconfig eth0:0 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
*删除绑定的IP地址信息:ifconfig eth0:0 del 192.168.1.2
注意: *ifconfig进行的修改都是临时性的修改,restart网络后则失效,要永久修改则需要修改或增加脚本
/etc/sysconfig/network-scripts/ifcfg-eth0或者ifcfg-eth0:0(add)
2)route
*查询当前配置的路由信息:route -n
*添加一个路由:route add -host/net *.*.*.* netmask 255.255.255.0 dev eth0
*删除一个路由:route del -host/net *.*.*.* netmask 255.255.255.0 dev eth0
*设定默认路由:route add default gw 192.168.10.1
3)ip指令,这个指令其实就是ifconfig和route的结合,所以掌握上面两个指令后不用花时间掌握这个指令
4)arp
*查询当前arp缓存列表:arp -a
*显示指定ip地址的mac:arp -a *.*.*.*
*添加静态arp项:arp -s *.*.*.*(ip) **:**:**:**:**:**(mac)
*删除指定ip地址的arp项:arp -d *.*.*.*
5)ping -c *.*.*.* 最基本的ping命令 -c表示动作的次数
ping -c 2 -s 1000 -M do *.*.*.* 测试从本机到目的主机的路由过程中的MTU大小,如果有回应则说明icmp
包为1000的报文可以直接通过,不需要进行ip分片操作
6)traceroute *.*.*.*侦测到某个目的端的路由情况//网关不允许则没用
7)netstat查询网络连接状态:
*查询路由信息:netstat -nr //同route -n
*查询所有连接状态:netstat -na //包括UNIX socket等
*查询tcp连接状态:netstat -nat
*查询udp连接状态:netstat -nau
*查询当前所有已经开启的网络:netstat -tulnp
8)tcpdump:常用命令行扎包,语法和ethereal的过滤规则基本一样,举例如下:
*tcpdump -i eth0 -nn host 192.168.1.1 and port 23
*tcpdump -nn udp/tcp/icmp/arp
*具体规则可以查阅网络资料
9)host查询域名对应的ip地址:host
//===============================================================================
八、其他操作
1:开关机
1)立即关机:shutdown -h now
2)立即重启:shutdown -r now
2:例行命令
执行一此的例行指令:
0)首先打开/etc/init.d/atd start
1)at now+5 [minutes|hours|days]
at HH:MM [YYYY-MM-DD]
2)输入要定时执行的指令,最好以绝对路径执行
3)查询当前一次行的例行指令:atq
4)删除已经设定了的例行指令:atrm [num]
循环执行的例行指令:
0) crontab [-l|-e|-r] //查询,编辑,移出例行指令 注意:时间设定格式
1)/etc/crontab文件进行编辑也能实现同样的功能
2)可以执行一个目录里的所有命令
3)时间格式设定:分 时 日期 月份 周(*表示any ','表示多个‘-’表示从...到.../n表示每隔多少个对应单位)
4)注意/etc/cron***下的目录
3:管理系统的daemon程序
0)chkconfig
1)ntsysv [--level ]
4:常用命令
*查询目录:ls -p|grep /
*查询一目录下的文件个数:ls -l|grep "^-"|wc -l
*递归查询一目录下的文件个数:find ./ -type -f|wc -l 或者ls -laR|grep "^-"|wc -l
*查看一目录下目录的个数:ls -laR|grep "^d"|wc -l
*查询开取的tcp端口:netstat -nat
*查询开取的udp端口:netstat -nau
*查找当前目录下所有文件是否含有指定字符串:grep -R tofind ./
*查找当前目录下是否存在一文件:find ./ -name tofind
*查询系统硬盘使用情况:df -h
5: 时间设置
date -s 20090104
date -s 18:08:30
date -s "20090104 18:08:30"
九、待补充:
阅读(1452) | 评论(0) | 转发(0) |