【转】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”=“message of the day”,当天信息)

cat /proc/cpuinfo
CPU信息――它显示文件cpuinfo的内容。要注意的是文件在/proc目录下不是真正的文件――它们只是在观察内核信息时起连接的作用。

cat /proc/interrupts
显示正在使用的中断号。在配置一个新硬件的时候可能需要浏览一下。

cat /proc/version
Linux的版本和其他信息

cat /proc/filesystems
显示当前使用的文件系统的类型

cat /etc/printcap |more
显示打印机的设置

lsmod
(= "list modules". 显示模块。必须是root用户,如果不是,使用命令/sbin/lsmod执行)显示当前已经加载的内核模块 .

set|more
显示当前的用户环境(全部显示)。一般来说东西太多了。

w
显示登录在系统里的用户,检查他们正在做什么以及他们的处理器使用状况。属于常用的安全方面的命令。

pwd / hostname / whoami / id usernamc / date / time / clock

lastb
命令列出最近所有失败的登录用户信息

last
命令显示最后一个登录到系统的用户

uptime
显示系统从上次启动后的运行时间

history
列出当前登录用户所有曾经执行过的历史命令,具体的命令日志在~/.bash_history文件中

ps axu | more
列出当前运行的所有进程,包括那些不是来自控制终端的进程,在显示用户进程的同时显示用户名

df -h 查看硬盘剩余空间  = disk free
free 内存使用信息


/var/log/btmp: 记录失败的用户登录信息,一般此文件要设置为root可访问,其它用户无权访问。

/var/run/utmp: 记录当前正在登录的用户信息


echo $PATH
显示环境变量“PATH”的内容。这个命令也可以用来显示其他的环境变量。使用set来察看所有的环境变量(和前一个命令功能相同)

dmesg | less
输出内核信息(也就是常说的内核内部缓存信息)。按“q”退出“less”。也可以使用 “less /var/log/dmesg”来直接检查最近一次系统启动时“dmesg”输出到文件里的内容。

chage -l my_login_name
查看我的密码过期信息

quota
查看我的硬盘区间(硬盘使用的限制)

sysctl -a |more
显示所有可设置的Linux内核参数

runlevel
输出和前一个和当前的运行级别(runlevel)。输出“N5”意味着:“没有前一个运行级别”和“5是当前的运行级别”。要修改运行级别,使用“init”,举例:“init 1”把当前的运行级别切换到“单用户模式”。

运行级别是Linux的操作模式。运行级别可以使用init命令进行快捷的修改。举例,“init 3”将把模式切换到运行级别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 -h now
(要求root用户)关机。一般用于在远程关闭计算机。在控制台上可以使用<CTRL><ALT><DEL>来关闭计算机(所有用户都可以)
halt
reboot
init 6
(三个命令都要求root用户)关机或者重新启动计算机。主要用于远程系统重新启动,比上面的命令要简单一些。如果计算机停止响应时非常有用,我一般通过网络从其他机器telnet到停止响应的计算机上然后重新启动它。在本地计算机上,我则一般使用<CTRL><ALT><DEL>来重新启动。


batch 批量执行命令
at 定时批量执行
atq 显示定时执行的任务队列
atrm 删除指定的定时任务队列

Nohup program_name
(=no hangup)。运行程序program_name,并使它在你注销时不被中断。输出结果被重定向到你的用户的主目录下的nohup.out文件。在你确信不想运行一个交互程序的时候,使用nohup。

打印相关的命令 lpc / lpq / lprm

lpc
(由root用户执行)检查和控制打印机。输入“?”可以查看命令列表。

lpq
显示打印机队列的内容。在你可从“K”菜单-实用程序(“K”menu-Utilities)中调用基于GUI的“打印机队列”(“Printer Queue”)

lprm job_number
从打印队列中删除一个打印任务。


lsof
列表显示已经打开的文件。如果你是root用户,所有的打开的文件都将被显示。使用lsof /dev/tty1你可以指定显示由第一控制台所有的进程打开的所有文件。要想只显示网络文件(对安全审计非常有用),你可以使用lsof –I(以root用户执行)。

定时重复执行某命令

Watch –n 60 my_command
以60秒为间隔反复执行my_command命令(缺省间隔为2秒)

硬件信息查看命令
lspci
显示主板信息和PCI扩展槽内都插了哪些卡。我的旧的计算机有ISA(或EISA)插槽,没有PCI。
sdev
显示硬件信息(DMA,IRQ,IO端口)

lsmod
(=list modules)显示当前加载的核心模块。一个模块就象一个设备驱动程序-它对一个硬件或一个特性提供操作系统核心支持。

系统服务相关命令


/sbin/chkconfig –level 123456 kudzu off
(以root用户运行)用来检查/启用/禁用在各个运行级下自动启动的系统服务的工具。一般情况下,如果我需要在当前运行级下启用/禁用一个服务,我只用Redhat ntsysv实用程序,但chkconfig给了我更多的灵活性。另外一个可用的工具是(基于X界面)。这个例子展示如何禁用kudzu服务,使它在任何运行级都不启动(它弄乱了我的一台机器上的鼠标设置)。

显示在所有运行级下启动/停止的服务,我使用:
chkconfig –list|more

检查服务的当前状态,我使用:
service –status –all

立即启动一个服务,我可以使用一些东西,像(启动一个ftp服务器):
service su-ftpd start

重新启动网络服务(如:在我修改了它的配置后),我可以用:
service smb restart

检查和修改系统上的符号链接

symlinks
(以root用户运行)检查和修改系统上的符号链接。从根开始,遍历所有的子目录(选项 –r=“rescuer”)修改绝对路径链接杂乱链接为相对链接,删除空悬链接,缩短超长链接(选项 -cds)。如果你的文件系统覆盖几个不同的硬盘分区,你需要为每个分区重新运行这个命令(如:symlinks –r –cds /usr)。


用户帐户和文件权限管理

useradd / adduser 创建新用户
passwd 修改用户密码
userdel 删除用户
groupdel 删除用户组
groupadd 添加用户组
groups 列出当前用户所属的组
usermod 修改用户
groupmod 修改用户组
chown 改变文件(目录)所有者
chgrp 改变文件(目录)所属组

chfn
(=”change full name”)修改你的信息(全名,办公室房间号,电话号码,等等)。用finger命令运行于你的login_name,便会显示这些信息。

change –M 100 login_name
(=”change age”)将用户的口令有效期设为100天。

quota username
setquota username
quotaon /dev/had
quotaoff /dev/had
管理用户磁盘限额的一组命令。一般在家中电脑上不用。“Disk quota”意思是每个用户使用磁盘空间的限制。这些命令分别是显示用户限额,设置用户限额,在一个给定的文件系统(本例是/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

我也可以使用以下命令来关闭用户帐号:

passwd peter –l
使用以下命令重新释放该用户:

passwd peter –u
对于永久性(不可恢复)的删除一个用户帐号,我一般这样做:

- 以root登录
- 把我的用户标识改成要删除的那个用户,检查是否有新的重要的电子邮件:
su doomed_user_login_name
mail
logout

- 删除用户和用户组:
userdel doomed_user_login_name
groupdel doomed_user_login_name

- 然后把该用户从所属的其他用户组里面删除:
usermod –G doomed_user_login_name doomed_user_login_name

- 强制删除该用户的主目录和主目录下的所有文件和子目录:
rm –fr /home/doomed_user_login_name


网络管理工具命令

netconf
ifconfig

ping
route 显示内核路由表
host host_to_find
nslooup host_to_find
dig ip_to_find
traceroute host_to_find
mtr host_to_find
nmblookup -A ip_address 查看一个联网的windows主机(用netbios名字)的状态,与windows的nbtstat等价

ifup / ifdown
开启或关闭网络接口,如 ifup eth0

nmap
tcpdump 抓包命令

ethereal

防火墙相关

ipchains –L
列出所有的防火墙规则。用来检查你的防火墙设置是否工作。

iptables –L
Linux内核2.4.x使用新的防火墙”iptables”(IP列表)。上面的例子列出防火墙规则。

转载地址:http://my.oschina.net/02471/blog/32246

你可能感兴趣的:(linux)