Linux常用命令之二

来源:互联网 发布:wpf编程宝典怎么样 编辑:程序博客网 时间:2024/04/30 14:32

Linux常用命令(续)
mv 文件更名和移动
格式:
mv(-参数)原来的文件 目标文件
mv(-参数)原来目录 目标目录
mv(-参数)原来的文件 目标目录
参数解释
b 在移动之前先做备份。
v 做完移动后显示所做的移动情形
f 不会去问使用者是否要做移动(如果有相同文件时候)

例子
* 把passwd移到/home/hongqt/xiaoyu这个目录下面
[hongqt@qq hongqt]$ mv passwd xiaoyu
* 把passwd改名字成passwd.txt
[hongqt@qq hongqt]$ mv passwd passwd.txt
* 把/home/hongqt/xiaoyu这个目录移到/home/hongqt/ok这个目录下面,并显示所作的移动情形
[hongqt@qq hongqt]$ mv -v /home/xiaoyu/ /home/hongqt/ok
`xiaoyu' -> `ok/xiaoyu' ===========>屏幕显示的提示信息
* 更改目录名称和文件所在的路径
[hongqt@qq hongqt]$ mv /home/hongqt/ok /home/hongqt/qq
*在移动文件passwd文件前,如果目的文件存在则先备份目的文件后再作移动操作。
[hongqt@qq hongqt]$ mv -b /home/hongqt/passwd /home/hongqt/qq(假设qq目录下已经有同名文件存在)则我们在/home/hongqt/qq下使用ls命令时会看到这样两个文件:
passwd和passwd~ 。其中的passwd~就是预先备份的文件。

ln 连接一个文件
In(-参数)已存在的文件或目录 要连接成的文件
参数:
s 符号连接(symbolic links)这种连接方式可以在不同的文件系统间做连接,当然也可以连接目录,让一个目录有另一个别名 。
预备工作:/home/hongqt/qq/xiaoyu/下有文件passwd
当前工作目录为/home/hongqt
*下面的命令为文件/home/hongqt/qq/xiaoyu/passwd建立一个连接文件(快捷方式)放在当前工作目录下。
ln -s /home/hongqt/qq/xiaoyu/passwd pass
vi pass即直接对/home/hongqt/qq/xiaoyu/passwd进行修改,但如果使用删除命令
rm -f pass的话,仅仅是删除连接文件本身,而不会删除实际的文件。

rm 删除文件或目录
用法
rm(-参数)文件或目录
参数解释
r 完全删除目录,就其下的目录和文件也一并删除
i 在删除目录之前先经过使用者的确认才删除
f 就是在删的时候不做确认动作,也不会产生任何错误信息,要求使用者确认要不要删除,但如果有f选项时,则不进行确认。

例子
* 除了目录和隐藏文件之外,其余全部的文件都有删除。但需要用户确认每个文件的删除
[hongqt@qq hongqt]$ rm *
* 把buf及其下的所有的目录和文件全部删除,而不会去要求使用者做确认的动作。
[hongqt@qq hongqt]$rm -rf buf/

****阅读文本文件命令小全****
*cat 显示出文件的内容
cat(-参数)(文件)
eg:
显示/etc/passwd文件内容,如果一屏显示不完的话,可使用命令2或命令3逐屏显示。
cat /etc/passwd ----------------->命令1
cat /etc/passwd |more --------------->命令2
more /etc/passwd -------------------->命令3
*用cat命令建立文件
cat >ok.txt (使用ctrl+D结束编辑) ----类似于dos 命令中的copy con ok.txt
*使用cat命令合并两个文本文件
cat ok.txt test.txt ok.txt
*使用cat命令在文本文件末尾追加新的内容
cat >>ok.txt
输入新的内容后以CTRL+D结束编辑

*head 命令
你可以使用 head 命令来查看文本文件的开头部分。
命令格式:
head <filename>
head 是一个有用的命令,但是由于它只限于文件的最初几行,你看不到文件实际上有多长。按照默认设置,你只能阅读文件的前十行。你可以通过指定一个数字选项来改变要显示的行数,如下面的命令所示:
head -20 <filename>

tail 命令
与 head 命令恰恰相反的是 tail 命令。使用 tail 命令,你可以查看文件结尾的十行。这有助于查看日志文件的最后十行来阅读重要的系统消息。你还可以使用 tail 来观察日志文件被更新的过程。使用 -f 选项,tail 会自动实时地把打开文件中的新消息显示到屏幕上。例如,要活跃地观察 /var/log/messages,以根用户身份在 shell 提示下键入以下命令:
tail -f /var/log/messages
 
grep 命令
grep 命令对于在文件中查找指定的字串很有用途。例如,如果你想在 passwd文件中查找每一个提到“hongqt”的地方,你可以键入:
grep hongqt passwd
你就会看到文件中带有“hongqt”的每一行。
hongqt::500:500::/home/hongqt:/bin/bash
所以我们可以通过这个命令来查看系统当中是否有某个账号。

*********有关文件系统和磁盘空间的指令*********
df 报告磁盘剩余空间
格式:
df(-参数)
常用参数解释
a 把全部的文件系统和各分区的磁盘使用情形列出来。
H 把各分区的大小和挂上来的文件分区的大小显示出来。
T 列出每个分区所属的文件系统名称

例子
* 列出各分区的磁盘空间使用情形,预设是以bytes为单位
[root@qq etc]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2              3834496    942804   2696904  26% /

[root@jkx-linux iso]# df -B M
Filesystem           1M-blocks      Used Available  Use% Mounted on
/dev/hda2                 2950       2022       779   73%  /
/dev/hda1                   84         11         69   14%  /boot
/dev/hdb1                 6100        453       5338    8%  /jkxftp

[root@jkx-linux iso]# df -H
Filesystem             Size   Used  Avail Use% Mounted on
/dev/hda2             3.1GB  2.2GB  816MB  73% /
/dev/hda1              88MB   11MB   73MB  14% /boot
/dev/hdb1             6.4GB  475MB  5.6GB   8% /jkxftp
none                   32MB      0    32MB   0% /dev/shm
/dev/hda4              27GB   35MB   26GB   1% /home


* 列出文件系统的名称
[root@qq etc]#df -T
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/sda2     ext3     3834496    942804   2696904  26% /

du 统计出目录中所有文件大小之和(以KB为单位)
[hongqt@qq hongqt]$ du /bin
4700    /bin

find
用法
find 起始目录 寻找条件 动作
起始目录:预设为所在的目录
由于此命令非常复杂,我们仅仅举几个比较典型的例子来掌握它的基本用法。
例子
*在/etc目录下查找所有的"*.conf"文件
$find /etc -name "*.conf" -print
*在/etc目录下查找所有以大写字母开头的文件
$find /etc -name "[A..Z]*" -print

*在/home目录下查找文件属主为hongqt的文件
$find /home -user hongqt
*在/home目录下查找没有文件属主的文件
$find /home -nouser
*在/home目录下查找文件的群组属主为hongqt的文件
$find /home -group hongqt

按照更改时间查找文件
*在/home下查找更改时间在5日以内的文件
$find /home -mtime -5
*在/home下查找更改时间在3日以前的文件
$find /home -mtime +3

使用type选项
*查找/home下的所有目录
$find /home -type d

**locate 找寻某个文件的位置
**whereis 找寻某个指令的位置


********查看系统信息的指令*********
date 更改或是查看目前的时间
[root@qq root]# date
Sun Nov 16 09:02:13 CST 2003
[root@qq root]# date -s "nov 17 00:02"
Mon Nov 17 00:02:00 CST 2003

cal 查看日历
[root@qq root]# cal  -->显示当前系统日期对应的年份、月份信息。
    November 2003
Su Mo Tu We Th Fr Sa
                    1
 2   3    4    5   6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
[root@qq root]# cal -y 2003 显示2003全年的日历
[root@qq root]# cal 3 1974  显示1974年3月的日历

ps 查看目前程序执行的情形
[root@qq root]# ps -x|more
PID TTY      STAT   TIME COMMAND
    1 ?           S         0:05   init [3]
1862 ttyp0    S         0:00   -bash
1540 ?          S         0:00   /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
[root@qq root]# ps -aux  显示系统目前所有用户正在运行的进程

top系统状态命令
显示当前系统资源使用状况
如果想查阅简单信息,可使用uptime和free命令。

kill 终止进程命令
常见用法
kill -9 进程ID
killall 进程名

tips:如何不留痕迹的退出linux?
在用户登录进系统完成指定任务后,使用
kill -9 用户所使用的bash 对应的进程id
附加知识:用户可使用history命令查看自己的命令历史记录,通过上、下光标箭来选择你曾经用过的历史命令。默认值是500条。
/etc/profile中加入或者修改
HISTSIZE=20

uname 查看核心的版本
常用参数:
uname -a
[root@qq etc]# uname -a
Linux qq 2.4.20-8 #1 Thu Mar 13 17:18:24 EST 2003 i686 athlon i386 GNU/Linux
[root@qq etc]# uname -r
2.4.20-8

**********************使用其它外部设备小全*******************************

如何在linux上使用软盘、光驱以及优盘和与访问windows的fat32分区
使用软盘:
#mount -t vfat /dev/fd0 /mnt/floppy
卸载软盘:
#umount /dev/fd0

使用光驱:
[root@qq root]# ls /dev/cdrom -l
lrwxrwxrwx    1 root     root            8 Nov  5 09:36 /dev/cdrom -> /dev/hdc
#mount -t iso9660 /dev/cdrom /mnt/cdrom
#mount -t iso9660 /dev/hdc /mnt/cdrom
卸载光驱:
#umount /dev/cdrom

使用优盘:
#mkdir /mnt/usb
#mount -t vfat /dev/sda1 /mnt/usb
对于在vmware上安装的虚拟linux系统,请参照帮助-->目录-->搜索 以usb为关键字可以找到在虚拟linux系统上安装优盘的办法。

访问windows的fat32分区:
#fdisk /dev/hda
[root@qq root]# fdisk /dev/hda

The number of cylinders for this disk is set to 1867.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hda: 15.3 GB, 15364339200 bytes
255 heads, 63 sectors/track, 1867 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1       255   2048256   2d  Unknown
/dev/hda2           256      1867  12948390    f  Win95 Ext'd (LBA)
/dev/hda5           256       995   5944018+  2d  Unknown
/dev/hda6           996      1867   7004308+   b  Win95 FAT32

#mkdir /mnt/diske
#mount -t vfat /dev/hda6 /mnt/diske
#mount -t vfat /dev/hda6 -o iocharset=gb2312 /mnt/diske(解决汉字显示不正常问题)
(在虚拟linux redhat 9.0上测试没有通过,在redhat 7.2上测试通过)

访问ntfs分区:
最新的内核都提供了对ntfs分区的支持,但需要重新编译内核。
详细信息请参阅:http://linux-ntfs.sourceforge.net/info/ntfs.html

原创粉丝点击