linux常用命令
文件操作:
cp :拷贝文件,例如:cp ./apps/bin ./apps/dev/bin即从./apps/bin 拷贝到./apps/dev/bin;
mv :移动或更名现有的文件或目录。用法基本与cp相同
rm :删除文件,rm -rf 强制删除,不管是目录还是文件
scp : 在远程机器上 copy 档案例如:
copy 本地的档案到远程的机器上 scp /etc/lilo.conf k@net67.ee.oit.edu.tw :/home/k
会将本地的 /etc/lilo.conf 这个档案 copy 到 net67.ee.oit.edu.tw,使用者 k 的家目录下。
copy远程机器上的档案到本地来 scp k@net67.ee.oit.edu.tw :/etc/lilo.conf /etc
会将 net67.ee.oitdu.tw 中 /etc/lilo.conf 档案 copy 到本地的 /etc 目录下。
保持从来源 host 档案的属性 scp –p k@net67.ee.tw :/etc/lilo.conf /etc
ln: ln -s target-dest target创建target的快捷方式target-dest
chmod :改变执行权限 例 :将档案 file1.txt 设为所有人皆可读取 : chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 : chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 : chmod u+x ex1.py
chgrp :用来修改文件的所属组。例如将目录/etc/httpd的所属组修改为http: chgrp http /etc/httpd
tar :压缩解压命令,解压tar。只打包不压缩:tar -cvf mysql,解压时用tar xvf mysql.tar 压缩:tar -zcvf mysql, 解压: tar zxvf mysql.tar.gz,几种压缩方式参考- -help
zip :压缩命令,对应解压命令unzip,如,zip mysql, unzip mysql.zip
cat :把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 cat -n textfile1 >> textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
此为清空/etc/test.txt档案内容 cat /dev/null >> /etc/test.txt
more :类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,
按 b 键就会往回(back)一页显示.
例如:more -s testfile 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。
more +20 testfile 从第 20 行开始显示 testfile 之档案内容。
vi :进入编辑器,如:vi test.txt,进入后按 i 键编辑,退出时按esc键,然后输入冒号,保存退出按 wq ,不保存按q ,然后回车。
目录操作:
cd :转到目录,如cd /home/software/,转到父目录是cd ..
ls :列出本目录文件,如ls -l,ls -a
find :文件查找命令。例如:查找当前用户主目录下的所有文件:$ find $HOME -print 或 $ find ~ -print
让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;
$ find . -type f -perm 644 -exec ls -l { } \;查找当前目录下的所有文件:find ./* -name ***
为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;
$ find / -type f -size 0 -exec ls -l { } \;
du :统计目录(或文件)所占磁盘空间的大小。
$ cd /home/myfolder "转到当前目录
$ du -H --max-depth=1 "查看当前目录下所有第一层子目录的尺寸(以K或M显示)
df :检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
查看端口:
netstat :查看端口使用,如netstat -nat
FTP:ftp连接,如:ftp -i -v -n 192.168.0.112 >>EOF
>CD ...
>EOF
EOF中间是对ftp的操作,详情请参考ftp命令。put files上传文件
wget :wget是一个Linux环境下用于从World Wide Web上提取文件的工具。例如: ftp://ftp.xemacs.org/pub/xemacs/xemacs-19.14.tar.gz ftp://username:password@host/dir/file
wput :允许您转移文件在网由使用FTP 的一个自由打开来源节目。
系统安装:
rpm :按装rpm格式的文件如:rpm -ivh MySQL-server-5.0.22-0.i386.rpm
yum :全名是YellowDog Updater, Modified,YellowDog 是一个Linux发行套件的名称。
# yum install net-snmp-utils
使用 yum install 单独安装一个RPM套件。关于服务器上的package名称,您可以先执行 yum list | more 来查询。
# yum list 查询服务器上的RPM套件名称。
# yum remove expat-devel
使用 yum remove 则会移除Linux系统上已经安装的RPM套件。您可以先执行 yum list installed | more查看系统已经安装的套件名称。
# yum list installed 查询系统已安装的RPM套件名称。
# yum clean packages
所有使用yum指令安装的RPM套件,都会从服务器下载回来并在 /var/cache/yum目录中,如果您觉得这些已经安装好的RPM套件已经无用了,可以执行yum clean packages把所有暂存的RPM档案都清除掉。
# yum clean headers
清除yum从服务器下载的header/ 目录与header.info档案。
# yum clean all
系统服务:
chkconfig :用来更新和查询不同运行级上的系统服务。
例如,random.init 包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation. 表明 random 脚本应该在运行级 2, 3, 4, 5 启动,启动优先权为20,停止优先权为 80。
ps: ps a 显示现行终端机下的所有程序,包括其他用户的程序。3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,
参数或常驻服务的标示。8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。11)ps -t<终端机编号> 指定终端机编号,并 。ps aux | grep driver 是根据driver的名称查看进程,例如查看sendmail的进程:ps aux | grep sendmail
列出属于该终端机的程序的状况。
top :显示进程及资源使用情况
kill : 杀死进程,如:
kill -STOP [pid] 发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
kill -CONT [pid]发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -9 -1 终止你拥有的全部进程。
reboot 重启机器
mount: 在Linux中,如果你要使用储存设备 (Mo、硬盘、光驱等) ,就得先将它挂上 (Mount),而当储 存设备挂上了之后,就可以把它当成
一个目录来进行访问。挂上一个设备使用mount命令。
举例而言,如要挂载下列五个设备的话,其执行指令可能是 (假设都是Linux的ext2系统,如 果是Win XX的话,请将ext2改成vfat):
1. 软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy
2. MO ===>mount -t ext2 /dev/sda /mnt/mo
3. cdrom ===>mount -t ext2 /dev/hdc /mnt/cdrom
用户操作:
passwd: 修改账户的登陆密码,使用权限是所有用户。 例如:
$ passwd
Changing password for user cao.
Changing password for cao
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
adduser: 增加用户,只有管理员可以执行例如:建立一个新用户账户,并设置ID:
#useradd caojh -u 544
需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。
cp :拷贝文件,例如:cp ./apps/bin ./apps/dev/bin即从./apps/bin 拷贝到./apps/dev/bin;
mv :移动或更名现有的文件或目录。用法基本与cp相同
rm :删除文件,rm -rf 强制删除,不管是目录还是文件
scp : 在远程机器上 copy 档案例如:
copy 本地的档案到远程的机器上 scp /etc/lilo.conf k@net67.ee.oit.edu.tw :/home/k
会将本地的 /etc/lilo.conf 这个档案 copy 到 net67.ee.oit.edu.tw,使用者 k 的家目录下。
copy远程机器上的档案到本地来 scp k@net67.ee.oit.edu.tw :/etc/lilo.conf /etc
会将 net67.ee.oitdu.tw 中 /etc/lilo.conf 档案 copy 到本地的 /etc 目录下。
保持从来源 host 档案的属性 scp –p k@net67.ee.tw :/etc/lilo.conf /etc
ln: ln -s target-dest target创建target的快捷方式target-dest
chmod :改变执行权限 例 :将档案 file1.txt 设为所有人皆可读取 : chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 : chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 : chmod u+x ex1.py
chgrp :用来修改文件的所属组。例如将目录/etc/httpd的所属组修改为http: chgrp http /etc/httpd
tar :压缩解压命令,解压tar。只打包不压缩:tar -cvf mysql,解压时用tar xvf mysql.tar 压缩:tar -zcvf mysql, 解压: tar zxvf mysql.tar.gz,几种压缩方式参考- -help
zip :压缩命令,对应解压命令unzip,如,zip mysql, unzip mysql.zip
cat :把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 cat -n textfile1 >> textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
此为清空/etc/test.txt档案内容 cat /dev/null >> /etc/test.txt
more :类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,
按 b 键就会往回(back)一页显示.
例如:more -s testfile 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。
more +20 testfile 从第 20 行开始显示 testfile 之档案内容。
vi :进入编辑器,如:vi test.txt,进入后按 i 键编辑,退出时按esc键,然后输入冒号,保存退出按 wq ,不保存按q ,然后回车。
目录操作:
cd :转到目录,如cd /home/software/,转到父目录是cd ..
ls :列出本目录文件,如ls -l,ls -a
find :文件查找命令。例如:查找当前用户主目录下的所有文件:$ find $HOME -print 或 $ find ~ -print
让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;
$ find . -type f -perm 644 -exec ls -l { } \;查找当前目录下的所有文件:find ./* -name ***
为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;
$ find / -type f -size 0 -exec ls -l { } \;
du :统计目录(或文件)所占磁盘空间的大小。
$ cd /home/myfolder "转到当前目录
$ du -H --max-depth=1 "查看当前目录下所有第一层子目录的尺寸(以K或M显示)
df :检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
查看端口:
netstat :查看端口使用,如netstat -nat
FTP:ftp连接,如:ftp -i -v -n 192.168.0.112 >>EOF
>CD ...
>EOF
EOF中间是对ftp的操作,详情请参考ftp命令。put files上传文件
wget :wget是一个Linux环境下用于从World Wide Web上提取文件的工具。例如: ftp://ftp.xemacs.org/pub/xemacs/xemacs-19.14.tar.gz ftp://username:password@host/dir/file
wput :允许您转移文件在网由使用FTP 的一个自由打开来源节目。
系统安装:
rpm :按装rpm格式的文件如:rpm -ivh MySQL-server-5.0.22-0.i386.rpm
yum :全名是YellowDog Updater, Modified,YellowDog 是一个Linux发行套件的名称。
# yum install net-snmp-utils
使用 yum install 单独安装一个RPM套件。关于服务器上的package名称,您可以先执行 yum list | more 来查询。
# yum list 查询服务器上的RPM套件名称。
# yum remove expat-devel
使用 yum remove 则会移除Linux系统上已经安装的RPM套件。您可以先执行 yum list installed | more查看系统已经安装的套件名称。
# yum list installed 查询系统已安装的RPM套件名称。
# yum clean packages
所有使用yum指令安装的RPM套件,都会从服务器下载回来并在 /var/cache/yum目录中,如果您觉得这些已经安装好的RPM套件已经无用了,可以执行yum clean packages把所有暂存的RPM档案都清除掉。
# yum clean headers
清除yum从服务器下载的header/ 目录与header.info档案。
# yum clean all
系统服务:
chkconfig :用来更新和查询不同运行级上的系统服务。
例如,random.init 包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation. 表明 random 脚本应该在运行级 2, 3, 4, 5 启动,启动优先权为20,停止优先权为 80。
ps: ps a 显示现行终端机下的所有程序,包括其他用户的程序。3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,
参数或常驻服务的标示。8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。11)ps -t<终端机编号> 指定终端机编号,并 。ps aux | grep driver 是根据driver的名称查看进程,例如查看sendmail的进程:ps aux | grep sendmail
列出属于该终端机的程序的状况。
top :显示进程及资源使用情况
kill : 杀死进程,如:
kill -STOP [pid] 发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
kill -CONT [pid]发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -9 -1 终止你拥有的全部进程。
reboot 重启机器
mount: 在Linux中,如果你要使用储存设备 (Mo、硬盘、光驱等) ,就得先将它挂上 (Mount),而当储 存设备挂上了之后,就可以把它当成
一个目录来进行访问。挂上一个设备使用mount命令。
举例而言,如要挂载下列五个设备的话,其执行指令可能是 (假设都是Linux的ext2系统,如 果是Win XX的话,请将ext2改成vfat):
1. 软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy
2. MO ===>mount -t ext2 /dev/sda /mnt/mo
3. cdrom ===>mount -t ext2 /dev/hdc /mnt/cdrom
用户操作:
passwd: 修改账户的登陆密码,使用权限是所有用户。 例如:
$ passwd
Changing password for user cao.
Changing password for cao
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
adduser: 增加用户,只有管理员可以执行例如:建立一个新用户账户,并设置ID:
#useradd caojh -u 544
需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。