在文档最后:
Mkdir 创建
Rm -rf 删除
Chmod -R 777 权限
Mysql -uroot -r
quit退出
find / -name svn 查找位置
Redhat使用了SELinux来增强安全,关闭的办法为:
1. 永久有效
修改 /etc/selinux/config 文件中的 SELINUX="" 为 disabled ,然后重启。
2. 即时生效
setenforce 0
关闭防火墙的方法为:
1. 永久性生效
开启:chkconfig iptables on
关闭:chkconfig iptables off
2. 即时生效,重启后失效
开启:service iptables start
关闭:service iptables stop
需要说明的是对于 Linux 下的其它服务都可以用以上命令执行开启和关闭操作
补充:
a. 防火墙还需要关闭ipv6的防火墙:
chkconfig ip6tables off
并且可以通过如下命令查看状态:
chkconfig --list iptables
b. selinux状态可以通过以下命令查看:
Sestatus
===============
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务服务
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务程序
# rpm -qa # 查看所有安装的软件包
ls -R:递归显示指定目录下的文件清单,即会显示指定目录分支内各子目录中的文件清单
ls -l:以长格式列表输出指定目录中的文件清单
文件类型 文件权限 链接数 属主 属组 大小 日期 时间 文件名
d rwxrwxr-x 2 user1 user1 4096 Aug 17 09:10 abc
pwd 显示当前工作目录(print working directory)
touch 创建空文件
halt 关机
mkdir 创建目录(make directoriy)
-p 父目录不存在情况下先生成父目录 (parents)
cp 复制文件或目录(copy)
-r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive)
mv 移动文件或目录、文件或目录改名(move)
rm 删除文件(remove)
-r 同时删除该目录下的所有文件(recursive)
-f 强制删除文件或目录(force)
rmdir 删除空目录(remove directoriy)
cat 显示文本文件内容 (catenate)
cat 创建文件
cat > myfile2
Welcome to Linux World!
按ctrl+d结束输入
功能:利用输出重定向符“>”来创建简短的文本文件myfile2。
more、less 分页显示文本文件内容
more /etc/services
功能:分屏显示指定文件httpd.conf的内容,非常适合显示超过一屏的文本文件。每按一下空格键,向后翻 一屏;每按一次回车键,向后翻一行。
说明:与more功能很相似,只不过less功能更强大,支持PageUp键向前翻屏,及PageDown向后翻屏。
head、tail查看文本中开头或结尾部分的内容
tail 显示文件最后10行内容
head 显示文件头10行内容
head -n 5 a.log 查看a.log文件的前5行
tail -f b.log 循环读取(fellow)
du 显示指定的文件(目录)已使用的磁盘空间的总量
-h 文件大小以K,M,G为单位显示(human-readable)
ifconfig 显示网卡网络配置详细
ifconfig eth0 192.168.1.3 netmask 255.255.255.0 功能设置指定ip与子网掩码
说明:eth0是系统中第1块以太网卡的名称,eth1是系统中第2块以太网卡的名称,以此类推。lo是环回测试网卡的名称。
ifconfig 禁用某块网卡
ifconfig eth0 down
功能:禁用网卡eth0。
说明:此时再用不带参数的ifconfig命令是不能显示eth0的信息的,需要加上参数“-a”才可显示被禁用的网卡信息。
ifconfig 激活某块网卡
ifconfig eth0 up
功能:激活网卡eth0。
ping 测试网络的连通性
find 用来查找文件的命令
find / -name "dhcpd*"
功能:参数-name指明按文件名进行查找,即从/目录开始查找以dhcpd开头的所有文件。
find 按文件大小查找
find /etc -size 8
功能:从/etc下开始查找大小为8块的文件,此处默认512字节为1块。若认为块大小为1k,则应写为8k。
其它可以使用的单位有c(字节)、w(双字节)、M(兆字节)和G(吉字节)。
find 按文件类型查找
find /var -type d -print
功能:从/var目录下开始查找类型为目录的文件,其中参数-print是显示到屏幕上的意思,经常省略。
find 按文件的修改时间查找
find . -cmin -5
功能:从当前目录下查找5分钟之内修改过的文件。
如果把“-5”改为 “+5”,则表示查找5分钟以前修改过的文件。不带“+”或“-”,则认为整5分钟。
如果把时间单位改为天,则使用参数“-ctime”,请看示例:
find . -ctime -5
find 按文件的权限查找
find mytmp -perm 755
功能:查找mytmp目录下的权限恰为755的文件。
find mytmp -perm +755
功能:查找mytmp目录下的满足755中任何一种权限的文件,即符合任何一个指定的权限位即可。
find mytmp -perm -755
功能:查找mytmp目录下的权限至少满足755的文件,即指定的所有权限位必须符合才算满足查询条件。
grep 在指定的文件中查找包含特定的字符串的行
grep "bind" host.conf
功能:在文件host.conf中查找包含字符串“bind”行。
grep "network" /etc/*.conf
功能:利用通配符可在多个文件中查找包含特定的字符串的行。本例会在/etc下扩展名为.conf文件中查找包含字符串“network”的行。
grep 查找不包含指定字符串的行
grep -v "network" /etc/nsswitch.conf
功能:查找/etc/nsswitch.conf文件中不包含字符串“network”的行。
关闭防火墙:
service iptables stop
设置开机不启动防火墙:
chkconfig iptables off
service network restart
service 命令
service 服务名 status
说明:查看某个服务的运行状态
service 服务名 start
说明:启动某个服务
Service 服务名 restart
说明:重启某个服务
Service 服务名 stop
说明:停止某个服务
chkconfig 命令查看开机启动项
chkconfig --list 说明查看开机启动项列表
chkconfig --del 启动项名称 说明:删除启动项
chkconfig --add 启动项名称 说明:添加启动项
tar命令 是经典的备份/还原命令,几乎所有最新的软件包都是通过tar包发布的。
-c 建立一个压缩文件的参数指令(create)
-x 解开一个压缩文件的参数指令(extract)
-z 是否需要用 gzip 压缩 扩展名为gz
-v 压缩的过程中显示文件(verbose)
-f 使用档名,在 f 之后要立即接档名(file)是用来指定文档名;
通常组合使用:
(tar -cvf aaa.tar file1.txt file2.txt 将file1和2打包成aaa.tar)
(tar -zcvf aaa.tar.gz file1.txt file2.txt 将file1和2打包成aaa.tar并压缩)
(tar -zxvf aaa.tar.gz file1.txt file2.txt 将aaa.tar.gz解压)
echo 用来输入命令
echo "i kollll"
echo "ikklkl" >> aa.txt
ps命令 查看进程
ps : 查看在当前控制台上运行的进程
ps -aux : 查询系统中所有运行的进程 包括后台进程其中参数a是所有进程,参数x包括不占用控制台的进程,参数u显示用户
ps -ef: 查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号
ps aux|grep tomcat 查看所有的tomcat相关的进程
pstree命令 以树状格式显示系统的进程列表
pstree -p : 以树状格式显示系统的进程列表,并标识出每个进程的(进程号)
top命令动态地显示系统中的进程
kill命令 杀掉指定进程
kill 3029 : kill命令可以杀掉一个进程,当然普通用户只能杀掉自己的进程
(说明):上述命令中3029是进程号;一般在执行kill命令之前,先用ps或pstree来查询一下将要被杀掉的进程的进程号。
kill -9 3029 : 强制终止3029号进程的运行,其中参数-9代表强制的意思
(说明):实际上kill命令是向该进程发送信号,该进程接到信号后决定是否停止运行,有些守护进程必须要收到参数9才终止运行
vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。只有命令,没有菜单。
vi插入命令
i 在光标前插入
a 在光标后插入
I 在光标当前行开始插入
A 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行
esc 回车
vi file 普通命令模式
vi定位命令
:set nu 显示行号
:set nonu 取消行号
gg 到文本的第一行
G 到文本的最后一行
:n 到文本的第n行
u undo,取消上一步操作 撤销
ctrl + r 返回到undo之前
Vi退出
shift + zz 保存退出,与“:wq”作用相同
:q 退出不保存
:q! 强制退出不保存
:wq 保存退出
:wq! 强制保存退出
RPM命令使用 查询系统中安装的软件包
rpm的常用参数
-i:安装应用程序(install)
-e:卸载应用程序(erase)
-vh:显示安装进度;(verbose hash)
-U:升级软件包;(update)
-qa: 显示所有已安装软件包(query all)
rpm -ql php 查询软件包中文件清单
功能:查询已安装的软件包php中的文件列表,其中参数-l的功能是“列出指定软件包中的文件”。
rpm -e php 卸载指定的软件包
rpm -ivh php-4.3.9-3.1-i386.rpm 安装软件包
rpm -ivh --force php-4.3.9-3.1-i386.rpm 强制安装软件包
说明:如果要安装的软件的版本比较低或该软件包在系统中已存在,系统会给出提示并拒绝安装,此时可以加上参数—force来进行强制安装。
rpm -ivh --nodeps php-4.3.9-3.1-i386.rpm 忽略依赖关系安装软件包
说明:在安装或卸载软件时经常会遇到提示“该软件包与某某软件包存在依赖关系”,只有加上参数--nodeps忽略掉依赖关系才能进行安装或卸载。
rpm 卸载
首先通过?rpm -q <关键字> 可以查询到rpm包的名字
然后 调用 rpm -e <包的名字> 删除特定rpm包
如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包
YUM命令
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
例子(需要上网):
yum install gcc-c++
yum remove gcc-c++
yum update gcc-c++
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器 就可以了。Linux 的 Shell 种类众多,常见的有:
Bourne Shell(/usr/bin/sh或/bin/sh):一个古老的shell,1977年诞生
Bourne Again Shell(/bin/bash):由于其简单易用,所以在工作中被广泛的使用
C Shell(/usr/bin/csh):语法与C语言类似,功能强大
Korn Shell(/usr/bin/ksh): 对Bourne Shell的扩充
Shell for Root(/sbin/sh) 等等 ...
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #网卡设备名称
ONBOOT=yes #启动时是否激活 yes|no
BOOTPROTO=static #协议类型 dhcp bootp none
IPADDR=192.168.134.136 #网络IP地址
NETMASK=255.255.255.0 #网络子网地址
GATEWAY=192.168.134.1 #网关地址
BROADCAST=192.168.134.255 #广播地址
TYPE=Ethernet #网卡类型为以太网
命令书写说明:
Linux 命令及其参数是严格区分大小写
Linux文件名严格区分大小写
例如: ls -a 不可写成 LS -a
Linux下文件的路径:
在Linux中存在着绝对路径和相对路径之分:
绝对路径:路径的写法一定由根目录”/”写起。比如 /usr/local/sbin
相对路径:路径的写法不是由根目录”/”写起。比如执行命令:cd /home > cd admin1 ,那么当前所处 目录为/home/admin1下,/home为绝对路径,而admin1则为相对路径,相对于当前的/home目录的一个位置
cd命令:
通过指定一个绝对路径或相对路径,使用cd可以进入到目标目录下
示例:
cd /etc //进入到etc目录下
cd sysconfig //在etc下执行,进入到/etc/sysconfig下
cd ./ // 当前目录
cd .. //返回上一级目录
cd ~ | cd // 进入到用户的家目录,如果是root用户,则进入/root目录
Linux采用组来组织和管理用户
在Linux中每个用户有唯一的用户标识符UID,该UID是一个无符号整数。同时每个用户也必须至少属于一个 组,也有组标识符GID。其中UID与GID独立编号。
groupadd 创建组账号
groupadd mygroup1
功能:创建一个新组mygroup1,其GID号为已存在GID号的下一个顺序编号。
说明:创建一个组的同时会在/etc/group文件中为该组增加相应的一行,用来记录该组的名称、GID号及成 员等信息。
groupadd 创建组账号并设置其GID号
groupadd -g 5000 mygroup2
功能:创建一个新组mygroup2,并指定其GID号为5000,其中-g用来设置用户的主要组,每个用户都有一个 主要组。
useradd 创建用户账号
useradd user1
功能:创建一个用户user1,同时在/etc/passwd文件和/etc/shadow文件增加一行,并自动为用户创建相应 的主目录:/home/user1。
说明:/etc/passwd文件记录了系统中每个用户的用户名、UID号、GID号、主目录、shell等信息。
注意:用户的口令原来也存放在此文件中,现在为了保证安全采用了影子口令文件/etc/shadow来保存每个 用户的口令。
useradd 创建用户账号并设置相应属性值
useradd -u 600 -g mygroup1 -G mygroup2 -d /home/student1 s1
功能:创建用户s1,其中参数
-u指定UID号为600;
-g指定用户的主要组为mygroup1;
-G指定用户的附加组为mygroup2,每个用户可以有多个附加组;
-d 指定用户的主目录为/home/student1。
userdel 删除用户
userdel user1
功能:删除指定的用户user1。
userdel 删除用户的同时删除其主目录
userdel -r user2
功能:删除指定的用户user2,同时删除其主目录。
groupdel mygroup2
功能:删除指定的组
注意:当某个组是某现有用户的主要组时,则不能被删除。
passwd 改变口令
passwd 禁止用户登录
passwd -l user1
Locking password for user user1.
passwd: Success
功能:参数-l 可以给指定的用户user1加锁,即禁止该用户登录。
passwd 恢复用户登录
passwd –u user1
Unlocking password for user user1.
passwd: Success.
功能:参数-u 可以给指定的用户user1解锁,即恢复该用户登录。
passwd 删除用户口令
passwd -d user1
Removing password for user user1.
passwd: Success
功能:参数-d 可以删除指定的用户user1口令,即以user1登录时无需口令。
usermod命令
usermod -u 601 -g 501 s1
功能:将(已存在的)用户s1的UID号修改为601、主要组修改为501。
id命令
id user1
uid=501(user1) gid=501(user1) groups=501(user1)
功能:显示用户的UID、GID及所属的组信息。
chown命令 改变文件的属主
chown user1 hello.txt
功能:将指定文件hello.txt的属主(所有者)改为user1。
chown 递归改变文件的属主
chown -R user1 mydir
功能:参数-R,表示递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属主(所有者)改 为指定的用户;本例中会将mydir目录中所有子目录和文件的属主设定为user1。
chgrp 改变文件的属组
chgrp mygroup1 hello.txt
功能:将指定文件hello.txt的属组改为mygroup1。
chgrp 递归改变文件的属组
chgrp -R mygroup1 mydir
功能:参数-R,表示递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属组改为指定的 组;本例中会将mydir目录中所有子目录和文件的属组设定为mygroup1。
chmod 字母方式
图中字母u针对属主、g针对属组、o针对其他用户、a针对所有用户;
=表示赋予(设置)指定权限,要注意它会覆盖原权限,
+表示在原有权限的基础上增加指定权限,
-表示在 原有权限的基础上去掉指定权限;
r、w、x三种权限,既可以单独使用也可以组合使用
chmod u+x host.conf
功能:为文件host.conf的属主增加执行权限。
chmod g-w,o=x host.conf
功能:将文件host.conf的属组去掉写权限,同时将其他用户设置为只有执行权限,而文件属主的权限不变
chmod 数字方式
chmod的数字使用方式,使用起来也是很方便的,关键是一个数制转换的问题。
这种方式是先将每个权限位化成二进制数,其中如果某权限位是“-”则用0来表示,否则用1来表示;接着 ,将这9列权限分为三组(每三位一组),再将每组化成一个八进制数。
例如,某文件有如下权限rwxrw-r--,则转换为二进制数为111110100,再化为八进制数则为764;反之, 当看到八进制数764时也应该很快转化为相应权限。 rwx 421
chmod 764 host.conf
功能:将文件host.conf的权限设置为:
属主拥有全部权限;
属组拥有读写权限;
其他用户拥有只读权限。
ln命令 建立硬连接
ln myfile myfile.hlink
功能:为文件myfile创建名为myfile.hlink的硬连接。
ls -il
180590 -rw-rw-r-- 2 user1 user1 12 Aug 17 12:14 myfile
180590 -rw-rw-r-- 2 user1 user1 12 Aug 17 12:14 myfile.hlink
说明:通过ls –il 命令可以看出myfile与myfile.hlink的i节点号(最左面的数)是一样的,即硬连接与原文件共用同一个i节点,请注意两个文件的连接数(位于长格式列表中权限位与属主之间的数)都增加了1变成2了。
ln命令 建立符号连接
ln -s myfile myfile.slink
功能:为文件myfile创建名为myfile.slink的符号连接。
ls -li
180590 -rw-rw-r-- 2 user1 user1 12 Aug 17 12:14 myfile
180590 -rw-rw-r-- 2 user1 user1 12 Aug 17 12:14 myfile.hlink
180606 lrwxrwxrwx 1 user1 user1 6 Aug 21 06:21 myfile.slink -> myfile
说明:试试用rm命令删除myfile文件,注意观察连接数的变化,再分别访问myfile.hlink和myfile.slink,看看是否能够正常访问,解释为什么会有这样的结果。
which命令
which cp
/bin/cp
which updatedb
/usr/bin/updatedb
功能:显示命令的绝对路径。
注意:该命令只能在命令搜索路径指定的目录中去查找命令或程序。
whereis ln
ln: /bin/ln /usr/share/man/man1/ln.1.gz /usr/share/man/man1p/ln.1p.gz
功能:查询指定命令所在目录以及帮助文档所在目录。
alt+p 移入文件