MAN命令
man 可以通过一些参数,快速查询linux帮助手册,并且格式化显示。
系统
cat /proc/cpuinfo 显示CPU info的信息
date 显示系统日期
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS
kill 1234 杀死1234进程
set 显示环境变量和普通变量
env 显示环境变量
export 把普通变量变成环境变量
unset 删除一个环境变量
crontab | 定时任务调度
关机 (系统的关机、重启以及登出 )
shutdown -h now 关闭系统
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销
exit 退出当前shell
last 查看用户的登陆日志
lastlog 查看每个用户最后的登陆时间
hostname 查看主机名
文件和目录
ls [选项] [目录名 | 列出相关目录下的所有目录和文件
-a 列出包括.a开头的隐藏文件的所有文件
-A 通-a,但不列出"."和".."
-l 列出文件的详细信息
-c 根据ctime排序显示
-t 根据文件修改时间排序
---color[=WHEN] 用色彩辨别文件类型 WHEN 可以是’never’、’always’或’auto’其中之一
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其它文件
ll 显示文件列表
tree 显示文件和目录由根目录开始的树形结构(1)
cd 切换目录
- :返回上层目录
.. :返回上层目录
cd ../.. 返回上两级目录
回车 :返回主目录
/ :根目录
mkdir [选项] 目录… | 创建新目录
-p 递归创建目录,若父目录不存在则依次创建
-m 自定义创建目录的权限 eg:mkdir -m 777 hehe
-v 显示创建目录的详细信息
10.rmdir 删除空目录
-v 显示执行过程
-p 若自父母删除后父目录为空则一并删除
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
-r 删除文件夹
-f 删除不提示
-i 删除提示
-v 详细显示进行步骤
mv dir1 new_dir 重命名/移动 一个目录
-b 覆盖前做备份
-f 如存在不询问而强制覆盖
-i 如存在则询问是否覆盖
-u 较新才覆盖
-t 将多个源文件移动到统一目录下,目录参数在前,文件参数在后
eg:
mv a /tmp/ 将文件a移动到 /tmp目录下
mv a b 将a命名为b
mv /home/zenghao test1.txt test2.txt test3.txt
cp file1 file2 复制一个文件
-r -R 递归复制该目录及其子目录内容
-p 连同档案属性一起复制过去
-f 不询问而强制复制
-s 生成快捷方式
-a 将档案的所有特性都一起复制
scp [参数] [原路径] [目标路径] | 在Linux服务器之间复制文件和目录
-v 详细显示输出的具体情况
-r 递归复制整个目录
(1) 复制文件:
命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名
(2) 复制目录:
命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
第1个指定了用户名,命令执行后需要输入用户密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;
eg:
从 本地 复制到 远程
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
从 远程 复制到 本地
scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz
pwd 查看当前所在路径
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch [选项] 文件 | 创建空文件或更新文件时间
-a 只修改存取时间
-m 值修改变动时间
-r eg:touch -r a b ,使b的时间和a相同
-t 指定特定的时间 eg:touch -t 201211142234.50 log.log
-t time [[CC]YY]MMDDhhmm[.SS],C:年前两位
mount [-t vfstype] [-o options] device dir
-ro 采用只读方式挂接设备
-rw 采用读写方式挂接设备
eg:mount /home/mydisk.iso /tmp/mnt 通过mnt访问mydisk内的内容
umount 取消挂载
文件搜索
find / -name “file1” 从 '/' 开始进入根文件系统搜索文件和目录
whereis 显示一个二进制文件、源码或man的位置(查找速度比find快)
磁盘空间
df -h 显示已经挂载的分区列表
du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'
文件的权限
chmod +rwx directory1 设置目录的读(r )、写(w)和执行(x)的权限
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chgrp group1 file1 改变文件的群组
系统性能
vmstat | 对操作系统的虚拟内存、进程、CPU活动进行监控
free [参数] | 显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer
iostat [参数] [时间t] [次数n](每隔t时间刷新一次,最多刷新n次)| 对系统的磁盘操作活动进行监视,汇报磁盘活动统计情况,同时也会汇报出CPU使用情况
-p[磁盘] 显示磁盘和分区的情况
.watch [参数] [命令] |重复执行某一命令以观察变化
-n 时隔多少秒刷新
打包和压缩文件
bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1.gz 解压一个叫做 'file1.gz'的文件
gzip file1 压缩一个叫做 'file1'的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 压缩成 'file1.rar' 的包
rar x file1.rar 解压rar包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
YUM
yum install package_name 下载并安装一个rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
RPM 包
rpm -ivh package.rpm 安装一个rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包
查看文件内容
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行
-v
显示详细的处理信息
-q
不显示处理信息
-num/-n (-)num
显示最后num行内容
-n +num
从第num行开始显示后面的数据
-c
显示最后c个字符
-f
循环读取
tail -f /var/log/messages 实时查看被添加到一个文件中的内容
grep -n "hello" [path]/[file] 在文件中搜索hello
find ./ -name *.jsp|xargs grep -n 'wrn' 查找当前目录下,所有包含“wrn”字符串的后缀为".jsp"的文件,且支持子目录检索
wc 统计指定文件中的字节数、字数、行数, 并将统计结果显示输出
网络 - (以太网和WIFI无线)
ifconfig eth0 显示一个以太网卡的配置
ifup eth0 启用一个 'eth0' 网络设备
ifdown eth0 禁用一个 'eth0' 网络设备
用户和群组
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( '-r' 排除主目录)
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
passwd 修改口令
passwd user1 修改一个用户的口令 (只允许root执行)
chage -E 2005-12-31 user1 设置用户口令的失效期限
pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户
grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组
重定向命令
>
ls -l > abc.txt 将内容写到abc.txt中
ls -al >> abc.txt 将内容追加到文件abc.txt结尾
grep -n "hello" [path]/[file] > abc.txt 将查找结果保存到abc.txt中
查阅历史记录命令或最近执行的命令
history
history 10 最近执行的10个命令
!5 执行历史编号为5的命令
!ls 最后一次以ls开头的命令
su命令(切换用户)
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
参数说明:
- -f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
- -m -p 或 --preserve-environment 执行 su 时不改变环境变数
- -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
- -s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
- --help 显示说明文件
- --version 显示版本资讯
- - -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
- USER 欲变更的使用者帐号
- ARG 传入新的 shell 参数
网络相关
ifconfig [网络设备] [参数] | 查看和配置网络设备
route | 显示和操作IP路由表
ping [参数] [主机名或IP地址] | 测试与目标主机的连通性
telnet [参数] [主机] | 用于远程登录,采用明文传送报文,安全性不好
.rcp [参数] [源文件] [目标文件] | 远程文件拷贝
-r 递归复制
-p 保留源文件的属性
wget [参数] [URL地址] | 直接从网络上下载文件
-o FILE 把记录写到FILE文件中 eg : wget -O a.txt URL
wget --limit-rate=300k URL 限速下载
crul
netstat (用于显示网络状态)
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
参数说明:
-a或--all 显示所有连线中的Socket。
-A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
-c或--continuous 持续列出网络状态。
-C或--cache 显示路由器配置的快取信息。
-e或--extend 显示网络其他相关信息。
-F或--fib 显示FIB。
-g或--groups 显示多重广播功能群组组员名单。
-h或--help 在线帮助。
-i或--interfaces 显示网络界面信息表单。
-l或--listening 显示监控中的服务器的Socket。
-M或--masquerade 显示伪装的网络连线。
-n或--numeric 直接使用IP地址,而不通过域名服务器。
-N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
-o或--timers 显示计时器。
-p或--programs 显示正在使用Socket的程序识别码和程序名称。
-r或--route 显示Routing Table。
-s或--statistice 显示网络工作信息统计表。
-t或--tcp 显示TCP传输协议的连线状况。
-u或--udp 显示UDP传输协议的连线状况。
-v或--verbose 显示指令执行过程。
-V或--version 显示版本信息。
-w或--raw 显示RAW传输协议的连线状况。
-x或--unix 此参数的效果和指定"-A unix"参数相同。
--ip或--inet 此参数的效果和指定"-A inet"参数相同。
例如:
netstat -an
netstat -anp (并显示进程号)
Linux管道
将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。
例:
- grep -r “close” /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。
- ps -ef | grep mysqld 查看系统是否开启mysqld服务
vi编辑器
[vi] [path]/[file];
[i]进入编辑模式;
[esc]进入命令模式;
[:wq]保存并退出;[:q!]退出不保存
其他
wget [参数] [URL地址] | 直接从网络上下载文件
telnet [参数] [主机] | 用于远程登录,采用明文传送报文,安全性不好
crontab [-elr] 定时任务调度
nohup
nohup [command] & 后台挂载
Linux 常用目录
root:存放root用户的相关文件
home:存放普通用户的相关文件
bin:存放常用命令
sbin:要具有一定权限才可以访问的命令
mnt:挂载光驱和软驱的目录
etc:存放配置相关的文件
var:存放经常变化的文件
boot:存放引导相关的文件
usr:软件的默认安装文件夹