当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > linux 系统的一些使用小技巧

Unix/Linux
Linux 备份 恢复方法
Linux玩CS反恐精英的方法
在一个ISO镜像中集成多个不同的linux发行版,可刻盘,可引导
Linux 快捷键使用
Linux DHCP 服务器配置方法介绍
Linux 22端口的修改方法
Linux 记录会话过程的命令
Linux 后台执行程序如何操作?
linux Wget命令来浏览网页的方法
Linux tail命令的巧妙应用
Wine 中文存在很多的乱码怎么解决方法
linux 新手教程之创建锁文件的方法
配置Linux 保证其系统的安全
Linux DHCP协议实现过程
Linux系统下破解SAM密码
linux/unix vi 编辑器用法详解
Linux 误删文件的解决方法
Linux系统下的历史记录删除方法
Red Hat Linux 安全设置指南
Linux基本命令-注销、关机、重启

Unix/Linux 中的 linux 系统的一些使用小技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 82 ::
收藏到网摘: n/a

++实现RedHat非正常关机的自动磁盘修复
先登录到服务器,然后在/etc/sysconfig里增加一个文件autofsck,内容如下:
AUTOFSCK_DEF_CHECK=yes
PROMPT=yes

++改变文件或目录之最后修改时间(变为当前时间)
执行格式:touch name ( name 可为文件或目录名称。)

++如何设置login后欢迎信息
修改/etc/motd,往里面写入文本即可。

++如何设置login前欢迎界面
修改/etc/issue或者issue.net,往里面写入文本。
issue的内容是出现在本机登录的用户界面上,而issue.net则是在用户通过网络telnet的时候出现。

++如何修改网卡MAC地址
首先必须关闭网卡设备,否则会报告系统忙,无法更改。
命令是: /sbin/ifconfig eth0 down
修改 MAC 地址,这一步较 Windows 中的修改要简单。
命令是:/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
重新启用网卡 /sbin/ifconfig eht0 up
网卡的 MAC 地址更改就完成了

++建立别名/删除别名
alias cp='cp -i'
unalias cp

++如何知道某个命令使用了什么库文件
例如要知道ls使用了什么库文件,可以使用:
$ ldd /bin/ls

++如何使一个用户进程在用户退出系统后仍然运行
使用nohup command &,比如:nohup wget -c ftp://test.com/test.iso
#这样即使用户退出系统,wget进程仍然继续运行直到test.iso下载完成为止

++如何限制用户的最小密码长度
修改/etc/login.defs里面的PASS_MIN_LEN的值。比如限制用户最小密码长度是8:
PASS_MIN_LEN 8

++如何取消root命令历史记录以增加安全性
为了设置系统不记录每个人执行过的命令,就在/etc/profile里设置
HISTFILESIZE=0
HISTSIZE=0
或者:
ln -s /dev/null ~/.bash_history

++如何测试硬盘性能
使用hdparm -t -T /dev/hdX就可以测试硬盘的buffer-cache reads和buffered disk reads两个数据,可以用来当作硬盘性能的参考。
同时使用hdparm -c3 /dev/hdaX还能设置硬盘以32bit传输,以加快数据传输的速度。

++如何列出一个目录占用的空间
du或du -s或du -k
du -S | sort -n 可以迅速发现那个目录是最大的。
用df可以看到已安装的文件系统的空间大小及剩余空间大小。
quota -v查看用户的磁盘空间信息,如果你用quota限制了用户空间大小的话。

++如何使新用户首次登陆后强制修改密码
#useradd -p ‘’ testuser; chage -d 0 testuser

++在Linux中有时开机不自动检查新硬件,新安装的网卡找不到。请问怎么解决
答:自动检查新硬件的服务是Kudzu,用户可以用“ntsysv”命令启动该服务。下次重启就会找到用户的新网卡。

++从台湾省的一个 网站找到的,如何让系统密码和samba密码一致,并可以让用户自行修改他们的密码.
使用web界面來同步更改system passwd 及 samba password
下载 http://changepassword.sourceforge.net/
安装就可以了.先看README哈.
附加:
系统用户批量倒成samba用户.
less /etc/passwd | mksmbpasswd.sh >; /etc/samba/smbpasswd

++更改Linux启动时用图形界面还是字符界面
cd /etc
vi inittab
将id:5:initdefault: 其中5表示默认图形界面
改id:3: initdefault: 3表示字符界面

++配置smb可以被哪些IP所用.
cd /etc/samba
Vi smb.conf
找到hosts allow = 192.168.1. 192.168.2. 127.
修改其为哪些机器所用,注意IP之间用逗号分开
举例:
hosts allow =192.168.1.110,192.168.1.120

++禁止在后台使用CTRL-ALT-DELETE重起机器
cd /etc/inittab
vi inittab 在文件找到下面一行
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now (注释掉这一行)
如: # Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

++修改主机名
vi /etc/sysconfig/network
修改HOSTNAME一行为HOSTNAME=主机名

++查看开机检测的硬件
dmesg | more

++查看硬盘使用情况
df –m

++查看目录的大小
du –sh dirname

++解压小全
tar xvfj lichuanhua.tar.bz2
tar xvfz lichuanhua.tar.gz
tar xvfz lichuanhua.tgz
tar xvf lichuanhua.tar
unzip lichuanhua.zip
注:压缩 tar cvfz FileName.tar.gz DirName

++显示内存使用情况
free –m

++显示系统运行了多长时间
uptime

++显示开机自检的内容命令
dmesg

++端口的详细列表
/etc/services

++查看物理信息
lspci

++文本截面的中文支持
RH 9.0自带安装包 zhcon_0.2.3_1.rh9.i386.rpm
安装完成后,执行: zhcon 就可以支持中文了

++linux 控制 windows
(1)用RH9.0自己带rdesktop,版本是1.2.0
命令:rdesktop –u user –f 192.168.1.70 色默认的是8位
(2)要达到16色,就要下载新版本1.3.0
rdesktop –a 16 –u lichuanhua –g 800*600 192.168.1.70

++不让显示器休眠
setterm –blank 0

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

++查看所有帐号的最后登录时间
lastlog /var/log/lastlog

++查看系统自开通以来所有用户的登录时间和地点
cat /var/log/secure

++显示当前用户所属信息
id

++如何知道Apache的连接数目
ps -ef|grep httpd|wc -l #其它服务可以类推
netstat -nat|grep -i “80″|wc -l # 以上结果再减1吧

++删除用户帐号的同时,把用户的主目录也一起删除
userdel -r 用户名

++修改已有用户的信息
usermod [参数] 用户名
参数: -c, -d, -m, -g, -G, -s, -u以及-o与adduser参数意义相同
新参数: -l 新用户名(指定一个新的账号,即将原来的用户名改为新的用户名)

++改变redhat的系统语言/字符集
改 /etc/sysconfig/i18n 文件,如
LANG=”en_US”,xwindow会显示英文界面,
LANG=”zh_CN.GB18030″,xwindow会显示中文界面。
还有一种方法
cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG=”en_US”,xwindow会显示英文界面,
LANG=”zh_CN.GB18030″,xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户
vi .bashrc
export LANG=zh_CN.GB2312
export LC_ALL=zh_CN.GB2312

++cd光盘做成iso文件
cp /dev/cdrom xxxx.iso

++快速观看开机的硬件检测
dmesg | more

++查看硬盘的使用情况
df -k 以K为单位显示
df -h 以人性化单位显示,可以是b,k,m,g,t..

++查看目录的大小
du -sh dirname
-s 仅显示总计
-h 以K、M、G为单位,提高信息的可读性。KB、MB、GB是以1024为换算单 位, -H以1000为换算单位。

++查找或删除正在使用某文件的进程
fuser filename
fuser -k filename

++linux中让用户的密码必须有一定的长度,并且符合复杂度
vi /etc/login.defs,改PASS_MIN_LEN

++以不同的用户身份运行程序
su - username -c “/path/to/command”
有时候需要运行特殊身份的程序, 就可以让su来做

++ adduser m -g cvsroot -s /bin/false
添加用户m,参数-s /bin/false表示不允许用户直接登录服务
id m
显示m用户的uid和gid号。

++ 强制卸载rpm包
rpm -e –nodeps 包名称
#个别不正常情况下:
rm -f /var/lib/rpm/__*
rpm –rebuilddb

++拒绝除root用户的其它用户登陆
touch /etc/nologin
也可以在/etc/passwd中加!对指定用户限制登陆

++检查自己所属之群组名称
执行格式:groups

++修改文件/文件夹所属用户组(支持-R)
chown .组名 文件名(注:组名名勿忘”.”,“:”也可)
也可chgrp 组名 文件名
chown 用户名.组名 文件名(同时修改所属用户及用户组) 

++用fuser命令查看一下是哪些进程使用这个分区上的文件:
fuser –v –m /usr
如果没有什么重要的进程,用以下命令停掉它们:
fuser -k –v –m /usr
然后就可以重新挂载这些文件系统了。

++网络唤醒主机
ether-wake 目标网卡MAC

++如何查找大小为500K到1000K之间的文件
find / -type f -size +500k -and -size -1000k

++让主机不响应ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
若想恢复就用
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
#必须是用命令改,不能是vi修改

++自动注销ROOT
编辑你的配置文件”vi /etc/profile”,在"HISTSIZE="后面加入下面这行:
  TMOUT=300
  #300,表示300秒

++ls只列出目录
ls -lF | grep ^d
ls -lF | grep /$
ls -F | grep /$

++让cron任务不回馈信息
* * * * * cmd > /dev/null 2>&1

++lsof(list open files)用法
lsof -i :xx
lsof abc.txt 显示开启文件abc.txt的进程
lsof -i :22 知道22端口现在运行什么程序
lsof -c nsd 显示nsd进程现在打开的文件
lsof -g gid 显示归属gid的进程情况

++改变sshd 的端口
在/etc/ssh/sshd_config 中加入一行:Port 2222,/etc/init.d/sshd restart 重启守护进程

++防止任何人使用su 命令成为root
     vi /etc/pam.d/su,在开头添加下面两行:
  auth sufficient /lib/security/pam_rootok.so
  auth required /lib/security/Pam_wheel.so group=wheel
     然后把用户添加到“wheel”组:chmod -G10 username

++如何让ssh 只允许指定的用户登录
方法1:在/etc/pam.d/sshd 文件中加入
auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail
然后在/etc 下建立sshusers 文件,加入允许使用ssh 服务的用户名(每一个用户名都要单独一行),重新起动sshd

++利用ssh 复制文件
1、从A 复制B(推过去)   #scp -rp /path/filename username@remoteIP:/path
2、从B 复制到A(拉过来)#scp -rp username@remoteIP:/path/filename /path

++linux机器挂载windows上的共享文件 
windows IP:192.168.1.1 
mount -t smbfs -o username=massky,password=massky //192.168.1.1/dbf /mnt/share 
如想机器重启自动挂载,vi /etc/fstab最后加入: 
//192.168.1.1/dbf /mnt/share smbfs defaults,auto,username=massky,password=massky 0 0

++定制linux 提示符
在bash 中提示符是通过一个环境变量$PS1 指定的。用export $PS1 查看现在的值,比较直
观常用的提示符可以设定为export PS1=“[\u@\h \W]\$”。其中\u 代表用户名,\h 代表主机
名,\W 代表当前工作目录的最后一层,如果是普通用户\$则显示$,root 用户显示#。

++清空文件
[echo] > 文件名

++DNS相关
host -a domain.com #显示相关资讯都列出来
host domain.com 202.106.0.20 #用202.106.0.20这台DNS服务器查询domain.com

++前后台任务相关
jobs 列出属于当前用户的进程
bg 将进程搬到后台运行(Background)
fg 将进程搬到前台运行(Foreground)
万一你运行程序时忘记使用“&”了,又不想重新执行。可以先使用ctrl+z挂起程序,然后敲入bg命令,这样程序就在后台继续运行了。

++查找当前目录下七天前的文件,并删除
find ./ -mtime +7 -type f -exec rm {} \;

++产生指定大小的文件(bs*count)
dd if=/dev/zero of=filename bs=1000000 count=10

++查找当前目录下文件并更改扩展名
更改所有.ss文件为.aa
# find ./ -name "*.ss" -exec rename .ss .aa '{}' \;

++修改系统时间
date -s "2005-6-4 17:26"

++让服务器自动同步时间
0 1 * * * /usr/sbin/ntpdate 210.72.145.44
或 0 1 * * * rdate -s time.nist.gov

                                                                     

++解决打开文件过多的问题
在etc/security/limits.conf 配置文件中设置进程文件描述符极限:
  * soft nofile 2048
  * hard nofile 4096
系统级文件描述符极限及timeout时间修改,添加如下两行到 /etc/rc.d/rc.local 启动脚本中:
  # Increase system-wide file descriptor limit.
  echo 65536 > /proc/sys/fs/file-max
  echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
#一般情况下,最大打开文件数比较合理的设置为每4M物理内存256,比如1G内存可以设为65536,
#而最大的使用的i节点的数目应该是最大打开文件数目的3倍到4倍

++如何用tar打包一个目录时,去掉其中的某些子目录或指定文件
加参数 –exclude 即可, 可加文件名或目录名, 可多写
tar cvf –exclude {dirname,filename} #dirname不要加/

++终端下修改服务器时区
/usr/sbin/timeconfig 
或直接#/etc/sysconfig/clock 

++关闭启动时的内存不足256M提示
#vi /etc/rc.sysinit #把最后六行注释掉
或#vi /var/lib/supportinfo
把其中的 MinRAM: 256M  这个值调低点.

++在多层目录中查找到某一指定"字符串"
grep string -R /etc/sysconfig/
find ./pathname/ -name '*' | xargs grep 'string'

++占用CPU的一个命令
#yes string  #有时候测试用得上。狂占CPU

++Kill相关
      kill -STOP [pid]
    发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
  kill -CONT [pid]
  发送SIGCONT (19,18,25)重新开始一个停止的进程。
  kill -KILL [pid]
  发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作
  kill -9 -1
  终止你拥有的全部进程。

++在当前目录下建个bak目录,然后 cp * bak,会提示略过bak,有其它办法可以排除指定文件(夹)?
ls -F|grep -v \/|xargs -i cp {} bak #推荐
或 find ! -name "./bak"

++ 根据进程名显示进程号
# pidof httpd
1846 1845 1844 1843 1842 1841 1840 1839 1820

++e2fsck
检查使用 Linux ext2 档案系统的 partition 是否正常工作,  检查 /dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答,均回答[是] :
e2fsck -a -y /dev/hda5

++反向输出
rev 反向输出(以行为单位)
tac 反向输出(全文)

++显示终端号
tty

++文件行数/字数统计
wc –l file   计算文件行数
wc -w file  计算文件中的单词数
wc -c file   计算文件中的字符数

++出每行第5个到第9个字符
cut -b5-9 file.txt

++删除文本文件中出现的行列
uniq

++返回文件所在路径
dirname /bin/tux #将返回 /bin

++fcitx在英文环境下正常使用
#vi ~/.bashrc
xport LC_CTYPE="zh_CN.UTF-8"
export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx
#gnome-session-properties可以把fctix加入登入后自启动

++split分割合并文件
split -b1440k a_whopping_big_file chunk #拆
cat chunk* > a_whopping_big_file  #合
 

 
发表于: 2007-10-19 ,修改于: 2007-10-19 17:46,已浏览380次,有评论1条 推荐 投诉 
 
 
 
 

网友评论
 
内容: 个人linux学习笔记实用技巧经验多则,每天更新
 1.更改telnet登录慢的问题:
cd /etc
vi resolv.conf
将里面内容清空

2.更改root用户不能直接远程登录问题:
cd /etc
cd pam.d
vi login
注释掉这行
#auth       required    pam_securetty.so   //该行注释掉

3.挂接USB移动硬盘
将移动硬盘挂上. 
#df  查看Linux下硬盘盘符
mount /dev/sda1 /mnt/usb (举例)

4.Linux时区同步问题(安装ntp软件过程)
首先在http://www.meinberg.de/english/sw/index.htm
下载了一个windows的NTP服务程序:ntp4171.zip
windows 192.168.1.32
1.安装是提示设置服务器地址,我设置的本机widows机器的IP
2.ntpd的控制在:
   控制面板->;管理工具->;组件服务-NetworkTimeProtocol 
3.可以启动ntpd守护进程保持时间同步
4.在C:WINNT目录下有个ntp的配置文件ntp.conf
  设置为:
  server  127.127.1.0  prefer
  fudge   127.127.1.0  stratum  10
5.确定ntp是否工作: ntpq -p 
linux和Windows同步,我用的是RedHat 9.0
 执行命令:ntpdate 192.168.1.32
 你就会发现你的时间变化了,和192.168.1.32的时间一样
 如果执行命令出现一下错误
1.提示:7 Dec 19:24:55 ntpdate[2120]: the NTP socket is in use, exiting
 这个是你linux机器上已经存在这个进程,输入:ps -ef | grep ntpd
 Kill掉ntp的进程
2.提示:No Server suitable for synchronization found
  这个是最容易出现的问题,比较常见的是配置好服务器并启动服务器进程后,马上
  启动客户进程,那么客户进程就会报错。解决方法是,在大约3-5分钟以后启动进程就行
我想每10分钟就和Windows服务同步时间
1.创建自己的一个crontab文件,随便建立一个文件date.cron,首先可以使用任何文本
  编辑器建立一个新文件,然后向其中写入需要运行的命令和要定期执行的时间。
  vi date.cron加入下面要运行的命令和要定期执行的时间
  */10 * * * * /usr/sbin/ntpdate 192.168.1.32
  然后存盘退出
2.使用crontab命令来安装这个文件,使之成为该用户的crontab文件。键入:
  crontab date.cron
  这个文件已经建立好了
3.使用命令:
  crontab -l  (查看安排的作业序列)可以看到刚才的作业
  如:
  [root@NXD-TEST root]# crontab -l
  # DO NOT EDIT THIS FILE - edit the master and reinstall.
  # (date.cron installed on Tue Dec  7 18:22:42 2004)
  # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
  */10 * * * * /usr/sbin/ntpdate 192.168.1.32
现在就OK了,每10分钟Linux就和服务端同步一次。

5.更改Linux启动时用图形界面还是字符界面
cd /etc
vi inittab
将id:5:initdefault:  其中5表示默认图形界面
改id:3: initdefault:  3表示字符界面

6.重新启动xinetd)
/etc/init.d/xinetd restart

7.重启smb服务
/etc/init.d/smb restart

8.配置smb可以被哪些IP所用.
cd /etc/samba
Vi  smb.conf
找到hosts allow = 192.168.1. 192.168.2. 127.
修改其为哪些机器所用,注意IP之间用逗号分开
举例:
  hosts allow =192.168.1.110,192.168.1.120

9.禁止在后台使用CTRL-ALT-DELETE重起机器
  cd  /etc/inittab
  vi inittab 在文件找到下面一行
  # Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now   (注释掉这一行)
 如:  # Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now  

10.修改主机名
  vi  /etc/sysconfig/network 
修改HOSTNAME一行为HOSTNAME=主机名

11.重新启动FTP服务
   /sbin/service vsftpd restart

12.查看开机检测的硬件
   dmesg | more

13.查看硬盘使用情况
 df –m

14.查看目录的大小
  du –sh  dirname

15.解压小全
  tar  xvfj  lichuanhua.tar.bz2
  tar  xvfz  lichuanhua.tar.gz
  tar  xvfz  lichuanhua.tgz
  tar  xvf   lichuanhua.tar
  unzip     lichuanhua.zip
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
---------------------------------------------
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
---------------------------------------------
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
---------------------------------------------
.tgz
解压:tar zxvf FileName.tgz
压缩:未知
.tar.tgz
解压:tar zxvf FileName.tar.tgz
压缩:tar zcvf FileName.tar.tgz FileName
---------------------------------------------
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
---------------------------------------------
.rar
解压:rar a FileName.rar
压缩:rar e FileName.rar


rar请到:http://www.rarsoft.com/download.htm 下载!
解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp rar_static /usr/bin/rar
---------------------------------------------
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName

lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!
解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp lha /usr/bin/
---------------------------------------------
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName
16.显示内存使用情况
  free –m

17.忘记了root密码
一. lilo
1. 在出现lilo菜单的时候按“ctrl+x”或者“Tab",然后输入:linux single
或者用光盘
在出现 lilo: 提示时键入 linux single
画面显示 lilo: linux single
2. 回车可直接进入linux命令行
3. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
4. #reboot重启,root密码为空

二.grub
1.出现grub画面时,用上下键选启动Linux的哪一项,按e键
2.上下键选择 kernel /boot/……… 然后按e键
3.修改现在见到的命令好,加入single 结果:
kernel /boot/vmlinuz-2.4.20-8 single ro root=LABEL=
4.回车返回,按b键启动,直接进入linux命令行
直接执行: passwd root
修改密码,你的密码就搞定
5.也可以修改/etc/shadow中
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
reboot重启,root密码为空

18.显示系统运行了多长时间
   uptime

19.重新启动网络
  /etc/init.d/network restart

20.显示开机自检的内容命令
  dmesg

21.查看端口
  netstat –an
  netstat -anp
 
22..端口的详细列表
  /etc/services

23.查看物理信息
 lspci 

24.安装图形界面不能出现,使用解析进行安装
 Linux lowres (使用的是640X480分辨率)