1.修改root用户密码命令:sudo passwd root
such as:
zyx@zyx-desktop:/$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
zyx@zyx-desktop:/$
〔汇总〕Linux所有命令大全
Linux, 大全, 命令, 汇总
查看内核
uname -a
查看Ubuntu版本
cat /etc/issue 或 lsb_release -a
查看内核加载的模块
lsmod
查看PCI设备
lspci
查看USB设备
lsusb -v
查看网卡状态
sudo ethtool eth0
查看CPU信息
cat /proc/cpuinfo
显示当前硬件信息
sudo lshw
显示系统运行时间
uptime
查看硬盘的分区
sudo fdisk -l
硬盘分区
sudo fdisk /dev/sda
硬盘格式化
sudo mkfs.ext3 /dev/sda1
硬盘检查(请不要检查已经挂载的分区,否则容易损坏数据)
sudo fsck /dev/sda1
分区挂载
sudo mount -t 文件系统类型 (-o nls=utf8 或 -o iocharset=utf8) 设备路经 访问路经
分区卸载
sudo umount 目录名或设备名
查看IDE硬盘信息
sudo hdparm -i /dev/hda
查看STAT硬盘信息
sudo hdparm -I /dev/sda 或 sudo blktool /dev/sda id
查看硬盘剩馀空间
df
查看目录占用空间
du -hs 目录名
优盘没法卸载
sync;fuser -km /media/usbdisk
查看硬盘当前读写情况
sudo iostat -x 2
查看当前的内存使用情况
free
动态显示进程执行情况
top
查看当前有哪些进程
ps -A
查看当前进程树
pstree
中止一个进程
kill 进程号 或 killall 进程名
强制中止一个进程
kill -9 进程号 或 killall -9 进程名
图形方式中止一个程序
xkill 出现骷髅标志的鼠标,点击需要中止的程序即可
查看进程打开的文件
lsof -p
显示开启文件abc.txt的进程
lsof abc.txt
显示22端口现在运行什么程序
lsof -i :22
显示nsd进程现在打开的文件
lsof -c nsd
在后台运行程序,退出登录后,并不结束程序
nohup 程序 &
详细显示程序的运行信息
strace -f -F -o outfile <cmd>
增加系统最大打开文件个数
ulimit -n 4096 或 echo 4096 > /proc/sys/fs/file-max
配置 ADSL
sudo pppoeconf
ADSL手工拨号
sudo pon dsl-provider
激活 ADSL
sudo /etc/ppp/pppoe_on_boot
断开 ADSL
sudo poff
查看拨号日志
sudo plog
如何设置动态域名
w3m -no-cookie -dump 'http://usere:[email protected]/dyndns/update?system=dyndns&hostname=yourdns.3322.org'
根据IP查网卡地址
arping IP地址
根据IP查电脑名
nmblookup -A IP地址
查看当前IP地址
ifconfig eth0 |awk '/inet/ {split($2,x,\":\");print x[2]}'
查看当前外网的IP地址
w3m -no-cookie -dump www.123cha.com|grep -o '[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}'
查看当前监听80端口的程序
lsof -i :80
查看当前网卡的物理地址
arp -a | awk '{print $4}'
同一个网卡增加第二个IP地址
sudo ifconfig eth0:0 1.2.3.4 netmask 255.255.255.0
立即让网络支持nat
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward; sudo iptables -t nat -I POSTROUTING -j MASQUERADE
查看路由信息
netstat -rn 或 sudo route -n
手工增加一条路由
sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
手工删除一条路由
sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
修改网卡MAC地址的方法
sudo ifconfig eth0 hw ether 00:AA:BB:CCD:EE
统计当前IP连接的个数
netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n
屏蔽IPV6
echo 'blacklist ipv6' | sudo tee /etc/modprobe.d/blacklist-ipv6
察看当前网络连接状况以及程序
sudo netstat -atnp
查看ADSL的当前流量
sudo ethstatus -i ppp0
查看域名的注册备案情况
whois baidu.cn
查看到某一个域名的路由情况
tracepath baidu.cn
重新从服务器获得IP地址
sudo dhclient
下载网站文档
wget -r -p -np -k http://www.xxx.com
如何5个线程下载
axel -n 5 http://www.xxx.com/downloadfile.zip
添加一个服务
sudo update-rc.d 服务名 defaults 99
删除一个服务
sudo update-rc.d 服务名 remove
临时重启一个服务
/etc/init.d/服务名 restart
临时关闭一个服务
/etc/init.d/服务名 stop
临时启动一个服务
/etc/init.d/服务名 start
增加用户
sudo adduser 用户名
删除用户
sudo deluser 用户名
修改当前用户的密码
passwd
修改用户密码
sudo passwd 用户名
修改用户资料
sudo chfn userid
如何禁用某个帐户
sudo usermod -L 用户名 或 sudo passwd -l 用户名
如何启用某个帐户
sudo usermod -U 用户名 或 sudo passwd -u 用户名
增加用户到admin组
sudo usermod -G admin -a 用户名
配置默认Java使用哪个
sudo update-alternatives --config java
终端设置代理
export http_proxy=http://xx.xx.xx.xx:xxx
修改系统登录信息
sudo vim /etc/motd
使用sun的java编译器
sudo update-java-alternatives -s java-6-sun
切换输入法引擎
im-switch -c
转换文件名由GBK为UTF8
convmv -r -f cp936 -t utf8 --notest --nosmart *
转换文件内容由GBK到UTF8
iconv -f gbk -t utf8 $i > newfile
转换 mp3 标签编码
sudo apt-get install python-mutagen;find . -iname '*.mp3' -execdir mid3iconv -e GBK {} \\;
控制台下显示中文
sudo apt-get install zhcon;zhcon --utf8 --drv=vga
lftp 登录远程Windows中文FTP
lftp :~>set ftp:charset GBK
PDF 文件乱码
sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional poppler-data
一屏查看文件内容
cat 文件名
分页查看文件内容
more 文件名
可控分页查看文件内容
less 文件名
根据字符串匹配来查看文件部分内容
grep 字符串 文件名
显示包含字符串的文件名
grep -l -r 字符串 路径
显示不包含字符串的文件名
grep -L -r 字符串 路径
快速查找某个文件
find 目录 -name 文件名
创建两个空文件
touch file1 file2
递归式创建一些嵌套目录
mkdir –p /tmp/xxs/dsd/efd
递归式删除嵌套目录
rm –fr /tmp/xxs
回当前用户的宿主目录
cd ~
查看当前所在目录的绝对路经
pwd 列出当前目录下的所有文件
ls -a
移动路径下的文件并改名
mv 路径/文件 /新路径/新文件名
复制文件或者目录
cp -av 原文件或原目录 新文件或新目录
查看文件类型
file filename
对比两个文件之间的差异
diff file1 file2
显示xxx文件倒数6行的内容
tail -n 6 xxx
不停地显示最新的内容
tail -n 10 -f /var/log/apache2/access.log
查看文件第五行到第10行的内容
sed -n '5,10p' /var/log/apache2/access.log
查找关于xxx的命令
apropos xxx 或 man -k xxx
通过ssh传输文件
scp -rp /path/filename username@remoteIP:/path
把所有文件的后辍由rm改为rmvb
rename 's/.rm$/.rmvb/' *
把所有文件名中的大写改为小写
rename 'tr/A-Z/a-z/' *
删除特殊文件名 --help.txt 的文件
rm -- --help.txt 或 rm ./--help.txt
查看当前目录的子目录
ls -d */. 或 echo */.
将最近30天访问过的文件移动到上级back目录
find . -type f -atime -30 -exec mv {} ../back \\;
显示一小时以内的包含 xxxx 的文件
find . -type f -mmin -60|xargs -i grep -l xxxx '{}'
显示最近2小时到8小时之内的文件
find . -mmin +120 -mmin -480 -exec more {} \\;
删除修改时间在30天之前的文件
find . -type f -mtime +30 -mtime -3600 -exec rm {} \\;
删除创建时间在30天之前的文件
find . -type f -ctime +30 -ctime -3600 -exec rm {} \\;
删除掉guest的以avi或rm结尾的文件
find . -name '*.avi' -o -name '*.rm' -user 'guest' -exec rm {} \\;
删除掉不以java和xml结尾7天没有使用的文件
find . ! -name *.java ! -name '*.xml' -atime +7 -exec rm {} \\;
删除所有的 .svn 目录
find . -name .svn -type d -exec rm -fr {} \\;
删除所有以“~”结尾的临时文件
find . -name '*~' -exec rm {} \\;
统计当前文件个数
ls .|wc -w
统计当前目录个数
ls -l |grep ^d|wc -l
显示当前目录下2006-01-01的文件名
ls -l |grep 2006-01-01 |awk '{print $8}'
使用ssh方式同步远程数据到本地目录
rsync -Pa -I --size-only --delete --timeout=300 Remote_IP:/home/ubuntu /backup
增加 7Z 压缩软件
sudo apt-get install p7zip p7zip-full p7zip-rar
增加 rar 软件压缩和解压缩支持
sudo apt-get install rar unrar
解压缩 xxx.tar.gz
tar -zxvf xxx.tar.gz
解压缩 xxx.tar.bz2
tar -jxvf xxx.tar.bz2
压缩aaa bbb目录为xxx.tar.gz
tar -zcvf xxx.tar.gz aaa bbb
压缩aaa bbb目录为xxx.tar.bz2
tar -jcvf xxx.tar.bz2 aaa bbb
增加 lha 支持
sudo apt-get install lha
增加解 cab 文件支持
sudo apt-get install cabextract
显示日历
cal
设置日期
date -s mm/dd/yy
设置时间
date -s HH:MM
将时间写入CMOS
hwclock --systohc
查看CMOS时间
hwclock --show
读取CMOS时间
hwclock --hctosys
从服务器上同步时间
sudo ntpdate ntp.ubuntu.com
设置电脑的时区为上海
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
关闭UTC,将当前时间写入CMOS。
sudo sed -ie 's/UTC=yes/UTC=no/g' /etc/default/rcS;sudo hwclock --systohc
修改mysql的root口令
sudo mysqladmin -u root -p password '你的新密码'
如何使用命令关闭显示器
xset dpms force off
设置CPU的频率
sudo apt-get install cpufrequtils;sudo cpufreq-info
命令关机
sudo halt
现在关机
sudo shutdown -h now
晚上11点自动关机
sudo shutdown -h 23:00
60分钟后关机
sudo shutdown -h +60
命令重启电脑
sudo reboot
现在重启电脑
sudo shutdown -r now
关闭笔记本的触摸板
synclient touchpadoff=1
开启笔记本的触摸板
synclient touchpadoff=0
统计每个单词的出现频率并排序
awk '{arr[$1]+=1 }END{for(i in arr){print arr\"\\t\"i}}' FILE_NAME | sort -rn
统计80端口的连接并排序
netstat -na|grep :80|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n
把终端加到右键菜单
sudo apt-get install nautilus-open-terminal
如何删除Totem电影播放机的播放历史记录
rm ~/.recently-used
vim 如何显示彩色字符
sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc
让 vim 直接支持编辑 .gz 文件
sudo apt-get install vim-full
vim 如何显示行号
:set number
查看在会话设置的启动程序
ls ~/.config/autostart
提高wine的反应速度
sudo sed -ie '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE
制作ISO文件
mkisofs -o test.iso -Jrv -V test_disk /home/carla/
延迟10秒抓图
gnome-screenshot -d 10
延迟5秒抓当前激活窗口
gnome-screenshot -w -d 5
如何命令行刻录
cdrecord -scanbus;cdrecord -v -eject speed=8 dev=1,1,0 test.iso
回收站在哪里
~/.local/share/Trash/
默认打开方式的配置文件在哪里
~/.local/share/applications/mimeapps.list
如何查看HTTP头
w3m -dump_head http://www.xxx.com
连续监视内存使用情况
watch -d free
如何切换到root帐号
sudo -Hs
只读挂载ntfs分区
sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
可写挂载ntfs分区
sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
挂载fat32分区
sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c
挂载共享文件
sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share
挂载ISO文件
sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso
1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件
文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息
文件管理 # pwd pwd 查看当前所在目录的绝对路经
文件管理 # cd cd .. 回当前目录的上一级目录
文件管理 # cd cd - 回上一次所在的目录
文件管理 # cd cd ~ 或 cd 回当前用户的宿主目录
文件管理 # cd cd ~用户名 回指定用户的宿主目录
2 文件管理 # mkdir mkdir 目录名 创建一个目录
文件管理 # mkdir mkdir –p 递归式去创建一些嵌套目录
文件管理 # rmdir Rmdir 空目录名 删除一个空目录
3 文件管理 # rm rm 文件名 文件名 删除一个文件或多个文件
文件管理 # rm rm -rf 非空目录名 递归删除一个非空目录下的一切,不让提式-f
4 文件管理 # cat cat文件名 一屏查看文件内容
5 文件管理 # more more文件名 分页查看文件内容
6 文件管理 # less less 文件名 可控分页查看文件内容
7 文件管理 # grep grep字符 文件名 根据字符匹配来查看文件部分内容
8 文件管理 # mv mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下
文件管理 # mv mv 文件名 新名称 在当前目录下改名
9 文件管理 # cp cp /路经/文件 ./ 移动绝对路经下的文件到当前目录下
10 文件管理 # find find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录
11 文件管理 # ln ln 源文件 链接名 创建当前目录源文件的硬链接
ln /home/test /usr/test1 在/usr下建立/home/test的硬链接
12 文件管理 # ln Ln -s a b 创建当前目录下a的符号链接b
13 文件管理 # touch touch file1 file2 创建两个空文件
14 磁盘管理 # df df 用于报告文件系统的总容量,使用量,剩余容量。
15 磁盘管理 # du du -b /home 查看目前/HOME目录的容量(k)及子目录的容量(k)。
16 磁盘管理 # fdisk fdisk -l 查看系统分区信息
17 磁盘管理 # fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区
18 磁盘管理 # mkfs.ext3 Mkfs.ext3 /dev/sdb1
为第一块SCSI硬盘的第一主分区格式化成
ext3的文件系统
mkfs.ext2 Mkfs.ext2/dev/sdb2 格式化成ext2文件系统
19 磁盘管理 # mount mount -t 文件系统类型 设备路经 访问路经 磁盘管理 # 文件系统类型
ISO9660 光驱文件系统
vfat Fat文件系统(windows)
挂载光驱 # mount –t iso9660 /dev/cdrom /mnt/cdrom
挂载FAT # mount –t vfat /dev/hda5 /mnt/cdrom 挂第一个ide的第五个逻辑分区
17 磁盘管理 # Umount /mnt/cdrom 卸载/mnt/cdrom为空
18 文件权限 # chmod chmod u+s file 为file的属主加上特殊权限
chmod g+r file 为file的属组加上读权限
chmod o+w file 为file的其它用户加上写权限
chmod a-x file 为file的所有用户减去执行权限
chmod 765 file 为file的属主设为完全权限,属组设成读写权,其它用户具有读和执心权限
19 文件权限 # chown chown root /home 把/home的属主改成root用户
20 文件权限 # chgrp chgrp root /home 把/home的属组改成root组
21 打印管理 # redhat-config-printer-tui 进入安装打印机界面
22 打印管理 # lp lp –d hptr file 打印file到hptr的打印机上
23 打印管理 # lpq Lpq –P 打印机名 查看打印机的状态
24 打印管理 # lprm Lprm –P 打印机名 a 删除打印机内的打印作业
25 打印管理 # disable Disable –r “changing paper” HPtr 禁用打印机并提示原因
26 打印管理 # enable Enable HPtr 重新启用被禁用的
27 用户管理 # useradd Useradd 创建一个新的用户
28 用户管理 # groupadd Groupadd 组名 创建一个新的组
29 用户管理 # passwd Passwd 用户名 为用户创建密码
30 用户管理 # Passwd -d Passwd -d用户名 删除用户密码也能登陆
31 用户管理 # Passwd -l Passwd -l用户名 锁定账号密码
32 用户管理 # Passwd -u Passwd -u用户名 解锁账号密码
33 用户管理 # Passwd -S Passwd -S用户名 查询账号密码
34 用户管理 # Usermod -l Usermod -l 新用户名 老用户名 为用户改名
35 用户管理 # Usermod -L Usermod -L 要锁定用户名 锁定用户登陆
36 用户管理 # Usermod -U Usermod –U解锁用户名 解锁用户登陆
37 用户管理 # Usermod -u Usermod –u 501用户名 改变用户UID
38 用户管理 # Userdel Userdel–r 用户名 删除用户一切
39 用户管理 # Groupmod -n Groupmod –n新用户名 老用户名 为组改名
40 用户管理 # Groupmod -g Groupmod –g 501 组名 改变组GID
41 用户管理 # groupdel Groupdel组名 先应删它的用户 删除组
42 用户管理 # gpasswd -a gpasswd -a 用户名 组名 增加用户到组
43 用户管理 # Id id 用户名 查用户信息
44 软件管理 # rpm -qa rpm –qa | less 查询已安装RPM
45 软件管理 # rpm –qa | grep ftp 查询指定RPM
46 软件管理 # rpm -q rpm -q 已安装的RPM包 查是否安装
47 软件管理 # rpm -q telnet-server 查看telnet服务器包
48 软件管理 # rpm -qi rpm –qi 软件包名称 查看软件的描述信息
49 软件管理 # rpm -ql rpm –ql软件包名称 查询软件包的文件列表
50 软件管理 # rpm -qf rpm –qf软件包名称 查询某个文件所属的软件包
51 软件管理 # rpm -qp rpm –qp软件包全名 查询未安装的软件包信息
52 软件管理 # rpm -e rpm –e 软件包名称 删除具体的软件包
53 软件管理 # rpm -U rpm –Uvh软件包全名 升级软件包并显示过程
54 软件管理 # rpm -ivh rpm –ivh 软件包全名 安装软件包并显示过程
55 软件管理 # rpm -V rpm –V软件包名称 验证软件包的大小,类型等
56 软件管理 # tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包
57 软件管理 # tar -cf tar –cvf benet.tar /home/benet 把/home/benet目录打包
58 软件管理 # tar -czf tar –zcvf benet.tar.gz /mnt 把目录打包并压缩
59 软件管理 # tar –tf tar –tf benet.tar 看非压缩包的文件列表
60 软件管理 # tar –tzf tar –tf benet.tar.gz 看压缩包的文件列表
61 软件管理 # tar –xf tar –xf benet.tar 非压缩包的文件恢复
62 软件管理 # tar –zxvf tar –zxvf benet.tar.gz 压缩包的文件解压恢复
63 软件管理 # tar -jxvf tar –jxvf benet.tar.bz2
64 软件管理 # diff diff file1 file2 > 补丁名.patch 为新旧文件生成补丁文件
65 软件管理 # diff diff file1 file2 比较两个文件的区别
66 软件管理 # Patch Patch file补丁名.patch 打补丁
67 软件管理 # ./configure --prefix=/usr/local/ 编译前配置
68 软件管理 # make 编译
69 软件管理 # make install 安装编译好的源码包
70 启动管理 # reboot Init 6 重启LINUX系统
71 启动管理 # Halt Init 0 Shutdown –h now 关闭LINUX系统
72 启动管理 # runlevel 显示系统运行级
73 启动管理 # Init [0123456] 改变系统运行级,7种
74 启动管理 # Chkconfig –-list [服务名称] 查看服务的状态
75 启动管理 # Chkconfig –-level <运行级> <服务名> on|off|set 设置服务的启动状态
76 启动管理 # Chkconfig <服务名> on|off|set 设置非独立服务启状态
77 进程管理 # Top动态 Ps-aux静态 进程树pstree 查看系统进程
78 进程管理 # 程序名 & 后台运行程序
79 进程管理 # fg 把后台运行的进程调回前台
80 进程管理 # bg 把前台运行进程调到后台
81 进程管理 # renice Renice +1 180 把180号进程的优先级加1
82 进程管理 # kill Kill PID 终止某个PID进程
83 进程管理 # at at 5pm + 3 days /bin/ls 指定三天后下午5:00执行/bin/ls
84 进程管理 # crontab Crontab -e 用VI的形式来编辑自动周期性任务
85 进程管理 # crontab Crontab -l 查看自动周期性任务
86 进程管理 # crontab Crontab -r 删除自动周期性任务
87 进程管理 # crond Service crond 马上启动自动周期性服务 Service crond <启动|停止|重启|状态>
实现磁盘配额 (注安装LINUX时建立/home分区)
目标:对用户zhao在/home目录上实现soft limit为5k,hard limit 为10k的磁盘配额
实现步骤:
1. 修改包含/home的行, #vi /etc/fstab, 改为:defaults,usrquota。也就是增加usrquota项。然后保存退出。
2、卸载/home目录 #umount /home
3. 挂接/home目录 #mount /home
4、增加用户zhao #useradd zhao
5、修改密码 #passwd zhao
6、生成关于/home目录的quota信息 # quotacheck -cmug /home
#quotacheck -vu /home
7、查看所有用户的信息 #repquota -au
8、设置配额 #edquota -u zhao
将soft 和hard 分别改为5和10
9、保存并退出 #wq!
10、修改时间 #edquota -t
11、 #wq!
12.开启/home上的磁盘配额功能 #quotaon /home
13.查询配额 #quota -u zhao
14.验证配额 #su - zhao
$touch myfile
chown, chmod or sudo
p { margin-bottom: 0.08in; }
刚刚接触
Linux
的时候可能处处感到不便,不过没有关系,接触新的事物都有这样的一个过程,在你用过
Linux
一段时间后,你就会逐渐了解
Linux
其实和
Windows
一样容易掌握。
由于操作和使用环境的陌生,如果要完全熟悉
Linux
的应用我们首先要解决的问题就是对
Linux
常用命令的熟练掌握。本章我们就来介绍
Linux
的常用基本命令。
首先启动
Linux
。启动完毕后需要进行用户的登录,选择登陆的用户不同自然权限也不一样,其中“系统管理员”拥有最高权限。
在启动
Linux
后屏幕出现如下界面显示
:
……
RedHat Linux release 9 (Shrike)
Kernel2.4.20.8 on an i686
login:
输入
:root(
管理员名
)
后,计算机显示输口令
(password:)
,输入你的口令即可。当计算机出现一个“
#”
提示符时,表明你登录成功
!
屏幕显示
Linux
提示符
:
[root@localhostroot]#_
这里需要说明的是“
RedHat Linux release 9(Shrike)”
表示当前使用的操作系统的名称及版本。“
2.4.20.8”
表示
Linux
操作系统的核心版本编号。“
i686”
表示该台电脑使用的
CPU
的等级。
下面我们来介绍常用基本命令
一、注销,关机,重启
注销系统的
logout
命令
1
,
Logout
注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达
logout
命令即可
:
[root@localhostroot]#logout
RedHat Linuxrelease 9(Shike)
Kernel2.4.20.8 on an i686
Login:←
回到登陆的画面
2
,关机或重新启动的
shutdown
命令
Shutdown
命令可以关闭所有程序,依照用户的需要,重新启动或关机。
参数说明如下
:
立即关机
:-h
参数让系统立即关机。范例如下
:
[root@localhostroot]#shutdown –h now ←
要求系统立即关机
指定关机时间
:time
参数可指定关机的时间
;
或设置多久时间后运行
shutdown
命令,范例如下
:
[root@localhostroot]#shutdown now ←
立刻关机
[root@localhostroot]#shutdown +5 ← 5
分钟后关机
[root@localhostroot]#shutdown 10:30 ←
在
10:30
时关机
关机后自动重启
:-r
参数设置关机后重新启动。范例如下
:
[root@localhostroot]#shutdown -r now ←
立刻关闭系统并重启
[root@localhostroot]#shutdown -r 23:59 ←
指定在
23:59
时重启动
3
,重新启动计算机的
reboot
命令
顾名思义,
reboot
命令是用来重新启动系统的。常用的参数如下
:
-f
参数
:
不依正常的程序运行关机,直接关闭系统并重新启动计算机。
-I
参数
:
在在重新启动之前关闭所有网络接口。
虽然
reboot
命令有个参数可以使用,但是一般只需要单独运行
reboot
命令就可以了
二、文件与目录的操作
列出文件列表的
ls
命令
1
,
ls(list)
命令是非常有用的命令,用来显示当前目录中的文件和子目录列表。配合参数的使用,能以不同的方式显示目录内容。范例如下
:
?
显示当前目录的内容
:
[tony@freetony]$ ls
Desktopmail myinstall.log test.txt ←
有两个目录及两个文件夹
?
当运行
ls
命令时,并不会显示名称以“
.”
开头的文件。因此可加上“
-a”
参数指定要列出这些文件。范例如下
:
[tony@freetony]$ ls –a
?
以“
-s”
参数显示每个文件所有的空间,并以“
-S”
参数指定按所有占用空间的大小排序。范例如下
:
[tony@freetony]$ ls –s –S
总计
36
4Desktop 4 mail 24 myinstall.log 4 test.txt
?
在
ls
命令后直接加上欲显示的目录路径,就会列出该目录的内容。范例如下
:
[tony@freetony]$ ls –l/usr/games
2
,切换目录的
cd
命令
cd(changedirectory)
命令可让用户切当前所在的目录。范例如下
:
[tony@freehome]$ cd tony ←
切换到当前目录下的
tony
子目录
[tony@freetony]$ cd .. ←
切换到上一层目录
[tony@freehome]$ cd / ←
切换到系统根目录
[tony@free/]$ cd ←
切换到用户主目录
[tony@freetony]$ cd /usr/bin ←
切换到
/usr/bin
目录
3
,创建目录的
mkdir
命令
Mkdir(makedirectory)
命令可用来创建子目录。下面的范例会在所在目录下创建
tool
子目录。
[tony@freetony]$ mkdir tool
4
,删除目录的
rmdir
命令
rmdir(removedirectory)
命令可用来删除“空”的子目录。范例如下
:
[tony@fre5
,复制文件的
cp
命令
cp(copy)
命令可以将文件从一处复制到另一处。一般在使用
cp
命令将以个文件复制成另一个文件或复制到某个目录时,需要指定原始文件名与目的文件名或目录。范例如下
:
[tony@freetony]$ cp data1.txt data2.txt ←
将
data1.txt
复制成
data2.txt
[tony@freetony]$ cp data3.txt /tmp/data ←
将
data3
复制到
/tmp/data
目录中
?
显示复制过程
:
加入
-v
参数可显示命令执行过程。范例如下
:
[tony@freetony]$ cp zip.txt zip2.txt ←
一般状态下不会显示复制过程
[tony@freetony]$ cp –v zip.txt zip3.txt ←
以
-v
显示复制过程
zip.txt->zip3.txt
?
递回复制
:
加入“
-R”
参数可同时复制目录下的所有文件及子目录。范例如下
:
[tony@freetony]$ cp –v –R * backup ←
将所有文件
(
含子目录文件
)
复制到
backup
目录
6
,删除文件或目录的
rm
命令
rm(remove)
命令可以删除文件或目录。范例如下
:
[tony@freetony]$ rm myfile ←
删除指定的文件
[tony@freetony]$ rm * ←
删除当前目录中的所有文件
rm
命令的常用参数如下
:
?
强迫删除
:
使用
-f
参数时,
rm
命令会直接删除文件,不再询问。范例如下
:
[tony@freetony]$ rm –f *.txt ←
强迫删除文件
?
递回删除
:-r
也是一个相当常用的参数,使用此参数可同时删除指定目录下的所有文件及子目录。范例如下
:
[tony@freetony]$ rm –r data ←
删除
data
目录
(
含
data
目录下所有文件和子目录
)
[tony@freetony]$ rm –r * ←
删除所有文件
(
含当前目录所有文件,所有子目录和子目录下的文件
)
?
强制删除指定目录
:
当使用
-r
参数删除目录时,若该目录下有许多子目录及文件,则系统会不间断地询问,以确认您的确要删除目录或文件。若已确定要删除所存目录及文件,则可以使用
-rf
参数,如此一来,系统将直接删除该目录中所有的文件及子目录,不再询问。范例如下
:
[tony@freetony]$ rm –rf tmp
强制删除
tmp
目录及该目录下所有文件及子目录
?
显示删除过程
:
使用
-v
参数。范例如下
:
[tony@freetony]$ rm –v
e tony]$ rmdir tool ←
删除
tool
目录
7
,让显示画面暂停的
more
命令
为了避免画面显示瞬间就闪过去,用户可以使用
more
命令,让画面在显示满一页时暂停,此时可按空格键继续显示下一个画面,或按
Q
键停止显示。
?
当使用
ls
命令查看文件列表时,若文件太多则可以配合
more
命令使用。范例如下
:
[tony@freebin]$ ls –al
more
?
单独使用
more
命令时,可用来显示文字文件的内容。范例如下
:
[tony@freetony]$ more data.txt
8,
连接文件的
cat
命令
cat(concatenate)
命令可以显示文件的内容
(
经常和
more
命令搭配使用
)
,或是将数个文件合并成一个文件。范例如下
:
?
逐页显示
preface.txt
的内容
:
[tony@freetony]$ cat preface.txt
more
?
将
preface.txt
附加到
outline.txt
文件之后
:
[tony@freetony]$ cat preface.txt >> outline.txt
?
将
new.txt
和
info.txt
合并成
readme.txt
文件
:
[tony@freetony]$ cat new.txt info.txt >readme.txt
9,
移动或更换文件,目录名称的
mv
命令
mv(move)
命令可以将文件及目录移动到另一个目录下面,或更换文件及目录的名称。范例如下
:
[tony@freebackup]$ mv a.txt .. ←
将
a.txt
文件移到上层目录
[tony@freebackup]$ mv z1.txt z3.txt ←
将
z1.txt
改名成
z3.txt
[tony@freebackup]$ cd.. ←
切换到上一层目录
[tony@freetony]$ mv backup.. ← backup
目录上移一层
10
,显示当前所在目录的
pwd
命令
pwd(printworking directory)
命令可显示用户当前所在的目录。范例如下
:
[tony@freetony]$ pwd
/home/tony←
当前所在目录为“
/home/tony”
11,
查找文件的
locate
命令
locate
命令可用来搜索包含指定条件字符串的文件或目录。范例如下
:
[tony@freetony]$ locate zh_CN
列出所有包含“
zh_CN”
字符串的文件和目录。
由于
locate
命令是从系统中保存文件及目录名称的数据库中搜索文件,虽然系统会定时更新数据库,但对于刚新增或删除的文件、目录,仍然可能会因为数据库尚未更新而无法查得,此时可用
root
身份运行
updatedb
命令更新,为此数据库得内容正确。
12
,搜索字符串得
grep
命令
grep
命令可以搜索特定字符串来并显示出来,一般用来过滤先前得结果,避免显示太多不必要得信息。范例如下
:
[tony@freeetc]$ grep text *.conf ←
搜索当前目录中扩展名为
.conf
且包含“
text”
字符串得文件。
grep:amd.conf:←
拒绝不符权限得操作
grep:diskcheck.conf:←
拒绝不符权限得操作
grep:grub.conf←
拒绝不符权限得操作
?
若您是使用一般权限的用户运行,上例的输出结果会包含很多如“拒绝不符权限的操作之类的错误信息,可使用
-s
参数消除。
[tony@freeetc]$ grep –s text *.conf
13
,重导与管道
重导
(redirect)
可将某命令的结果输出导文件中,它有两中命令
:“>”
和“
>>”
。“
>”
可将结果输出到文件中,该文件原有的内容会被删除
:“>>”
则将结果附加到文件中,原文件内容不会被清除。范例如下
:
[tony@freetony]$ ls –a>dir.txt ←
将
ls–a
命令执行结果输出到
dir.txt
文件。
[tony@freetony]$ cat data1.txt >> data2.txt ←
将
data1.txt
内容附加到
data2.txt
文件之后。
通道
(pipe)
命令的符号是“ ”,可将某命令的结果输出给另一命令,一下范例将
ls
命令的输出结果传给
grep
命令过滤
:
[tony@freeetc]$ ls
gerpconf ←
搜索并显示
ls
命令运行结果中包含有“
conf”
字符串
在举一个删除文件或目录的例子,可以利用
yes
命令重复输出“
y”
字符的特性,将结果传给
rm
命令,如此即可避免重复输入“
y”:
[tony@freetony]$ yes
rm–r mydir