【转】linux 学习笔记
进程相关命令
ps/jobs/fg/bg/kill/killall
&/ctl+z转入后台执行
ctrl+c中止执行
ctrl+d中止输入
ctrl+s
ctrl+q不理解
统计命令
wc
定时任务
crontab/at/
head显示前10行
tail显示最后10行
帮助命令
man/info/help
--help-h-?等
查看你的Linux内核版本号:
uname–a
cat/etc/issue
检查你的发行版本。你也可以把你自己的信息放到文件/etc/issue里――在用户登录的时候会显示。如果你想要显示更多的信息,还有一个比较常见的做法是把本地专有的登录信息内容放在文件/etc/motd里(“motd”=“messageoftheday”,当天信息)
cat/proc/cpuinfo
CPU信息――它显示文件cpuinfo的内容。要注意的是文件在/proc目录下不是真正的文件――它们只是在观察内核信息时起连接的作用。
cat/proc/interrupts
显示正在使用的中断号。在配置一个新硬件的时候可能需要浏览一下。
cat/proc/version
Linux的版本和其他信息
cat/proc/filesystems
显示当前使用的文件系统的类型
cat/etc/printcap|more
显示打印机的设置
lsmod
(="listmodules".显示模块。必须是root用户,如果不是,使用命令/sbin/lsmod执行)显示当前已经加载的内核模块.
set|more
显示当前的用户环境(全部显示)。一般来说东西太多了。
w
显示登录在系统里的用户,检查他们正在做什么以及他们的处理器使用状况。属于常用的安全方面的命令。
pwd/hostname/whoami/idusernamc/date/time/clock
lastb
命令列出最近所有失败的登录用户信息
last
命令显示最后一个登录到系统的用户
uptime
显示系统从上次启动后的运行时间
history
列出当前登录用户所有曾经执行过的历史命令,具体的命令日志在~/.bash_history文件中
psaxu|more
列出当前运行的所有进程,包括那些不是来自控制终端的进程,在显示用户进程的同时显示用户名
df-h查看硬盘剩余空间=diskfree
free内存使用信息
/var/log/btmp:记录失败的用户登录信息,一般此文件要设置为root可访问,其它用户无权访问。
/var/run/utmp:记录当前正在登录的用户信息
echo$PATH
显示环境变量“PATH”的内容。这个命令也可以用来显示其他的环境变量。使用set来察看所有的环境变量(和前一个命令功能相同)
dmesg|less
输出内核信息(也就是常说的内核内部缓存信息)。按“q”退出“less”。也可以使用“less/var/log/dmesg”来直接检查最近一次系统启动时“dmesg”输出到文件里的内容。
chage-lmy_login_name
查看我的密码过期信息
quota
查看我的硬盘区间(硬盘使用的限制)
sysctl-a|more
显示所有可设置的Linux内核参数
runlevel
输出和前一个和当前的运行级别(runlevel)。输出“N5”意味着:“没有前一个运行级别”和“5是当前的运行级别”。要修改运行级别,使用“init”,举例:“init1”把当前的运行级别切换到“单用户模式”。
运行级别是Linux的操作模式。运行级别可以使用init命令进行快捷的修改。举例,“init3”将把模式切换到运行级别3,以下是运行级别的标准:
0-中断(不要把系统初始设置“initdeafult”设成这个值)
1-单用户模式
2-多用户模式,不带NFS(如果你没有网络,和运行级别3相同)
3-全功能多用户模式
4-目前没有使用
5-X11(图形用户界面)
6-重新启动(不要把系统初始设置“initdeafult”设成这个值)
系统的初始运行级别设置在文件:/etc/inittab里
sar
查看抽取系统活动记录文件信息(/var/log/sarxx,其中xx指的是当前的日期)。sar可以抽取很多种系统统计信息,包括CPU的平均载荷,i/o的统计,当天的网络流量统计或者是几天以前的数据。
shutdown-hnow
(要求root用户)关机。一般用于在远程关闭计算机。在控制台上可以使用<CTRL><ALT><DEL>来关闭计算机(所有用户都可以)
halt
reboot
init6
(三个命令都要求root用户)关机或者重新启动计算机。主要用于远程系统重新启动,比上面的命令要简单一些。如果计算机停止响应时非常有用,我一般通过网络从其他机器telnet到停止响应的计算机上然后重新启动它。在本地计算机上,我则一般使用<CTRL><ALT><DEL>来重新启动。
batch批量执行命令
at定时批量执行
atq显示定时执行的任务队列
atrm删除指定的定时任务队列
Nohupprogram_name
(=nohangup)。运行程序program_name,并使它在你注销时不被中断。输出结果被重定向到你的用户的主目录下的nohup.out文件。在你确信不想运行一个交互程序的时候,使用nohup。
打印相关的命令lpc/lpq/lprm
lpc
(由root用户执行)检查和控制打印机。输入“?”可以查看命令列表。
lpq
显示打印机队列的内容。在你可从“K”菜单-实用程序(“K”menu-Utilities)中调用基于GUI的“打印机队列”(“PrinterQueue”)
lprmjob_number
从打印队列中删除一个打印任务。
lsof
列表显示已经打开的文件。如果你是root用户,所有的打开的文件都将被显示。使用lsof/dev/tty1你可以指定显示由第一控制台所有的进程打开的所有文件。要想只显示网络文件(对安全审计非常有用),你可以使用lsof–I(以root用户执行)。
定时重复执行某命令
Watch–n60my_command
以60秒为间隔反复执行my_command命令(缺省间隔为2秒)
硬件信息查看命令
lspci
显示主板信息和PCI扩展槽内都插了哪些卡。我的旧的计算机有ISA(或EISA)插槽,没有PCI。
sdev
显示硬件信息(DMA,IRQ,IO端口)
lsmod
(=listmodules)显示当前加载的核心模块。一个模块就象一个设备驱动程序-它对一个硬件或一个特性提供操作系统核心支持。
系统服务相关命令
/sbin/chkconfig–level123456kudzuoff
(以root用户运行)用来检查/启用/禁用在各个运行级下自动启动的系统服务的工具。一般情况下,如果我需要在当前运行级下启用/禁用一个服务,我只用Redhatntsysv实用程序,但chkconfig给了我更多的灵活性。另外一个可用的工具是(基于X界面)。这个例子展示如何禁用kudzu服务,使它在任何运行级都不启动(它弄乱了我的一台机器上的鼠标设置)。
显示在所有运行级下启动/停止的服务,我使用:
chkconfig–list|more
检查服务的当前状态,我使用:
service–status–all
立即启动一个服务,我可以使用一些东西,像(启动一个ftp服务器):
servicesu-ftpdstart
重新启动网络服务(如:在我修改了它的配置后),我可以用:
servicesmbrestart
检查和修改系统上的符号链接
symlinks
(以root用户运行)检查和修改系统上的符号链接。从根开始,遍历所有的子目录(选项–r=“rescuer”)修改绝对路径链接杂乱链接为相对链接,删除空悬链接,缩短超长链接(选项-cds)。如果你的文件系统覆盖几个不同的硬盘分区,你需要为每个分区重新运行这个命令(如:symlinks–r–cds/usr)。
用户帐户和文件权限管理
useradd/adduser创建新用户
passwd修改用户密码
userdel删除用户
groupdel删除用户组
groupadd添加用户组
groups列出当前用户所属的组
usermod修改用户
groupmod修改用户组
chown改变文件(目录)所有者
chgrp改变文件(目录)所属组
chfn
(=”changefullname”)修改你的信息(全名,办公室房间号,电话号码,等等)。用finger命令运行于你的login_name,便会显示这些信息。
change–M100login_name
(=”changeage”)将用户的口令有效期设为100天。
quotausername
setquotausername
quotaon/dev/had
quotaoff/dev/had
管理用户磁盘限额的一组命令。一般在家中电脑上不用。“Diskquota”意思是每个用户使用磁盘空间的限制。这些命令分别是显示用户限额,设置用户限额,在一个给定的文件系统(本例是/dev/hda)上启用限额系统,关闭限额系统。我所见过的典型的发行套装的缺省设置:对所有用户没有限制,所有文件系统上的限额系统都关闭。
当设置权限时,以下符号被用到:“u”(=用户或文件所有者),“g”(拥有文件的组),“o”(其他人),“a”(所有人,如所有者,组和其他人),“=”(设置权限为),“+”(增加权限),“-”(取消权限),“r”(读文件的权限),“w”(写文件的权限,代表修改文件的权限),“x”(执行文件的权限)
lsattr
列表文件属性。不常用到,因为很多最有趣的属性还没有实现。属性可以用命令来修改。这些属性是:A(=修改文件时不要更新时间),S=(同步更新),a(=此文件只能追加),c(=在内核级上压缩文件,尚未实现),i(=不变的文件),d(=不可转储),s(=安全删除)和u(不可删除,尚未实现)。一个有趣的用法是使一个文件不可删除,即使root用户也不行(除非设置者清除该属性)。
关闭或删除一个用户
用户帐号可以被临时关闭或者永久删除
临时关闭(锁定)一个用户帐号,并不需要修改该用户的密码。只需要在/etc/shadow文件里属于该用户的行的第二个字段(密码)前面加上星号“*”就可以了。星号“*”指的是该用户不允许登录。当你想要把该用户恢复正常,只需要把星号“*”去掉就可以了,用户就可以恢复正常。
以下是一个在/etc/shadow关闭用户peter的例子:
peter:*$1$narMEFm6$fhA1puOU422HiSL5aggLI/:11193:0:99999:7:-1:-1:134539228
我也可以使用以下命令来关闭用户帐号:
passwdpeter–l
使用以下命令重新释放该用户:
passwdpeter–u
对于永久性(不可恢复)的删除一个用户帐号,我一般这样做:
-以root登录
-把我的用户标识改成要删除的那个用户,检查是否有新的重要的电子邮件:
sudoomed_user_login_name
logout
-删除用户和用户组:
userdeldoomed_user_login_name
groupdeldoomed_user_login_name
-然后把该用户从所属的其他用户组里面删除:
usermod–Gdoomed_user_login_namedoomed_user_login_name
-强制删除该用户的主目录和主目录下的所有文件和子目录:
rm–fr/home/doomed_user_login_name
网络管理工具命令
netconf
ifconfig
ping
route显示内核路由表
hosthost_to_find
nsloouphost_to_find
digip_to_find
traceroutehost_to_find
mtrhost_to_find
nmblookup-Aip_address查看一个联网的windows主机(用netbios名字)的状态,与windows的nbtstat等价
ifup/ifdown
开启或关闭网络接口,如ifupeth0
nmap
tcpdump抓包命令
ethereal
防火墙相关
ipchains–L
列出所有的防火墙规则。用来检查你的防火墙设置是否工作。
iptables–L
Linux内核2.4.x使用新的防火墙”iptables”(IP列表)。上面的例子列出防火墙规则。
转载地址:http://my.oschina.net/02471/blog/32246