Linux命令
1.type :查看命令是内部命令还是外部命令
eg: type cd
eg:type ifconfig
2.tab键 :自动补齐
3.反斜杠“\”: 强行换行
4.ctrl+U :快速删除光标之前的所有字符
5.ctrl+K :快速删除光标之后的所有字符
6.ctrl+Y :粘贴刚才删除的字符
7.ctrl+L :清屏
8.ctrl+C :结束当前命令
9.ctrl+D :退出用户
10.ctrl+A :把光标移到行首
11.ctrl+E :把光标移到行尾
12.ctrl+Z :转入后台运行
13.ctrl+R :查找历史命令
*在虚拟机中翻页 shift+PgUp/Dn
14.help内部命令帮助
eg: help cd
eg:ls --help
15.man 提供在线帮助(百度更方便) 用q退出
16.ls :列表显示目录内的文件及目录,结合不同选项实现不同的作用(ls空 选项 空 目录或文件名)
-l :以长格式显示文件和目录列表
-a :显示所有子目录和文件信息
-A :同-a,隐藏目录“.和..”不显示
-d :显示目录属性,常与-l同时使用 ls -ld
-h :更人性化显示目录或文件大小,常与-l同时使用 ls -lh
-R :以递归方式显示目录及子目录中的所有内容
17.du :显示目录或文件所占磁盘空间大小(du空 选项 空目录或文件名)
-a :统计所有文件,不只是目录
-s :只统计总大小
h :显示大小
18.touch :创建文件 (touch 空 文件名)(创建多个文件touch空 文件名{1..100}.txt)
19.mkdir :创建目录 (mkdir 空 选项 空 目录位置及名称)
-p :一次性创建嵌套的多层目录
-v :显示详细
-m :设置umask值
20.cp :复制文件或目录 (cp空 选项 空 源文件或目录 目标文件或目录)
-f :覆盖同名文件或目录,强制复制
-i :提醒用户确认
-p :保持源文件权限、属性、属主及时间标记等不变
-r :递归复制
21.rm 删除目录或文件
-f :不提示,直接强制删除
-i :提示用户确认
-r :递归式删除整个目录数
22.mv 移动(mv 空 选项 空 源文件或目录 目标文件或目录)
23.which 查找linux命令程序所在位置 (which 空 命令/程序名)
24.find :精细查找文件或目录 (find查找范围 查找条件表达式)
-name 按名称查找 (find /etc -name"resol*conf")
-size 按大小查找 (find /etc -size +1M)
-user 按属性查找 (find /etc -user root)
-type 按类型查找 (find /boot -type d) [d:目录;f:普通文件;b:块设备;c:字符设备文件]
逻辑运算符 -a 和 -o
find /boot -size +1M -a -name"vm*"
find /boot -size +1M -o -name"vm*"
/root 管理员的家目录
/home 普通用户的家目录
/boot 系统内核启动文件
/dev Device,设备文件(黄色表示)
/etc 配置文件
/bin 命令存在的位置
/sbin 管理员可执行的命令(chmod修改文件权限)
/usr 应用程序 usr/local
/var 记录文件,记录系统使用状态(重要文件目录/var/log通过日志对服务进行挑错处理)
25.查看文件内容 cat,tac,nl,more,less,head,tail
cat 从上往下查看文件内容(cat 文件名 )
-n 显示内容同时显示行号 cat -n=nl
-A 显示所有字符
eg: cat -A /etc/yum.conf
tac 从下往上查看文件内容
eg: tac -nA /etc/yum.conf
nl 查看同时显示行数
eg: nl /etc/yum.conf
more 分屏显示文件内容
eg: more /etc/passwd
(enter向下滚动一行,空格 向下滚动一行 q 退出)
less 强大的分屏显示文件内容
(按PgUp,PgDn上下翻页)
head 查看文件前十行内容
eg: head -5 /etc/passwd
tail 查看文件后十行内容
eg: tail -5 /etc/passwd
26.wc 统计文件 (-l行数,-w单词个数,-c字节数)
eg: wc /etc/hosts
ls /etc/ | wc -l(查看一个目录下有多少文件)
27.grep,egrep 检索和过滤
grep: 在文件中查找并显示包含指定字符串的行(grep 查找条件 目标文件)
-i 查找时忽略大小写
-v 反转查找,输出与条件不相符的行
(“^...”表示以...开头 “...$”表示以...结尾 “^$”表示空行
eg:grep "ftp" /etc/passwd
eg: grep -v "^#" /etc/yum.conf | grep -v "^$"
egrep: 增强型过滤 ( egrep "查找条件1,查找条件2,查找条件3..." 目标文件)
eg:egrep -v "^# | ^$" /etc/yum.conf
28.gzip,gunzip,bzip2,bunzip2 压缩和解压缩(只压缩单个文件)
(压缩选项为1-9的数字控制压缩级别,数字越大级别越高,压缩后 格式为.gz,.bz2)
eg:bzip2 test.txt gunzip text.txt.gz
29.tar 归档命令(制作归档文件、释放归档文件) {tar -cf 归档文件名 源文件或目录} {tar -xf 归档文件名 -C 目标目录}
-c 创建.tar格式的压缩包
-x 解开.tar格式的压缩包
-v 输出详细信息
-f 解压到指定文件夹
-p 打包时保留原始文件及目录的权限
-t 列表查看包内的文件
-C 解包时指定释放的目标目录
-z 调用gzip程序进行压缩或解压
-j 调用bzip2程序进行压缩或解压
-P打包时保留文件及目录的绝对路径
(tar命令的选项前可以省略“-”,在解压时无需选择“-z”或“-j”命令可自行识别)
eg:mkdir -pv /aaa/bbb/ccc
tar cjvf aaa.tar.bz2 /aaa/
eg: tar xf aaa.tar.bz2 -C /root/
30. vi文本编辑器(创建或修改文本文件 维护Linux中的各种配置文件)
vim :vi编辑器的增强版,习惯上也称vi
a 在光标后插入内容
A 在光标所在行末尾插入内容
i 从当前光标前插入内容
l 在光标所在行行首插入内容
o 在当前光标下插入空行
O 在当前光标上插入空行
PgUp向上翻动一整页
PgDn向下翻动一整页
Home跳转至行首
End 跳转至行尾
1G或gg跳转到文件的行首
G跳转到问件的末尾行
#G跳转到文件的第#行
:set nu在编辑器中显示行号
:set nonu取消编辑器中的行号显示
dd删除当前光标所在行
#dd删除从光标所在行开始的#行内容
U取消对当前所做的所有编辑
ZZ保存当前的文件内容并退出vi编辑器
:w保存修改的内容
:w/root/newfile另存为其他文件
:q未修改退出
:q!放弃对文件内容的修改并退出vi
:wq保存并推出
wq!强制保存并退出
ctrl+r恢复撤销操作
:r/etc/filesystems在当前文件中读入其他文件内容
:s/old/new 将当前行中查找到的第一个字符“old ”替换成“new”
:s/old/new/g将当前行中查找到的所有字符串“old”替换成“new”
:#,# s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”
:% s/old/new/g在整个文件范围内替换所有字符串“old”为“new”
:s /old/new/c在替换命令末尾加入c命令,将对每一个替换动作提示用户进行确认
补充
:x 保存退出,但如果未修改,时间戳不变
:w file 将当前文件另存为file(vim)
:X 加密(vim)
:7 跳转到第七行
:1,$ co $ 从第一行到最后一行复制,到最后一行后
J 合并当前行和下一行
ctrl+r 对使用u命令撤销操作进行恢复
31.rpm包安装,软件安装包的格式
rpm -q 子选项 软件名
-qa 查看已安装的所有RPM软件包表
-qi 查看指定软件的详细信息
-ql 查询软件包安装的目录,文件列表
-qf 查询文件或目录属于哪个RPM软件
-qp 查询未安装的RPM包文件
-qpi:查看该软件的详细信息
-qpl:查看包内所含的目录,文件列表
eg: rpm -q bash
eg: rpm -qa | grep bash(查询是否已安装有bash软件包)
eg: rpm -ql postfix (查询postfix软件包安装的文件列表)
eg: rpm -qf /usr/bin/vim (查询vim是由哪个软件包安装的)
eg: rpm -qpi ethtool-3.5-1.el6.x86_64.rpm
eg: rpm -qpl ethtool-3.5-1.el6.x86_64.rpm
安装升级RPM软件 (rpm RPM包文件)
-i 安装一个新的软件包
-U 升级,若未安装,则进行安装
-h 以“#”号显示安装进度
-v 显示安装过程中的详细信息
-F 更新某个rpm软件,若未安装,则放弃安装
--force强制安装所指定的rpm软件包(一般不用)
卸载RPM软件 (rpm -e 软件名)
--nodeps 安装、升级或卸载软件时,忽略依赖关系(一般不用)
eg:rpm -e lynx (卸载Lynx)
rpm -q lynx(查看)
重建RPM数据库
rpm --rebuilddb
rpm --initdb
32.构建本地yum仓库
umount /dev/sr0 卸载光盘
mkdir /media/cdrom 建立光驱被挂载的目录
mount /dev/sr0 /media/cdrom 挂载光驱到/media/cdrom
cd /etc/yum.repos.d/ 移动到yum源配置文件的所在目录
mkdir bak 建立多余源文件的备份目录
mv C* bak 将C开头的文件移动到备份目录中
vi local.repo 手动建立yum源配置文件,文件内容如下
yum源配置文件:
[cdrom]
name=cdrom
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
保存退出
yum -y clean all 清除yum缓存
yum makecache 重建yum缓存
安装:yum -y install
删除:yum -y remove
升级:yum -y update -y:不交互
33.源代码编译安装
安装gcc gcc-c++
make install gcc gcc-c++
解压缩
tar xf httpd-2.2.17.tar.gz -C /usr/src
预配置
cd /usr/src/httpd-2.2.17/
./configure --prefix=/usr/local/apache
编译
make
安装
make install
编译安装步骤
备份后,修改配置文件(97行#号去掉)
cd /usr/local/apache/conf/
cp httpd.conf httpd.conf.bak
vi /usr/local/apache/conf/httpd.conf
启动Apache
/usr/local/apache/bin/apachectl start
yum -y lynx(文本浏览器)
lynx 127.0.0.1
34.用户账号文件/etc/passwd(保存用户名称,宿主目录,登陆shell等基本信息,每一行对应一个用户的账号记录
tail -1 /etc/passwd
第一字段:用户账号名
第二字段:x密码占位符
第三字段:uid(用户编号)
第四字段:gid(组编号)
第五字段:用户备注
第六字段:用户宿主目录
第七字段:登陆的shell(若为/sbin/nologin则不能登陆)
35./etc/shadow 保存用户的密码、账号有效期等信息,每一行对应一个用户的密码记录
tail -1 /etc/shadow
第一字段:用户账号名
第二字段:密文(密码)
第三字段:账号上次修改时间距离1970.01.01过去多少天
第四字段:距上次密码修改起多少天内不能再次修改密码,0天表示可以随意修改
第五字段:密码过期天数(在修改密码后多少天必须重新修改,99999表示永久可以使用)
第六字段:强制密码修改提醒时间(7表示在密码过期前7天开始警告)
第七字段:当密码过期后经过多少天该账号会被禁用
第八字段:账户过期日期,若设置则显示为过期日期距离1970.01.01多少天
36.添加用户账号useradd 用户名
-u 指定uid标记号
-d 指定宿主目录,缺省默认为/home/用户
-e 指定账号失效时间
-M 不为用户建立初始化宿主目录
-s 指定用户的登陆shell
-g 指定用户的基本组名或gid号
-G 指定用户的附加组名或gid号
-c 添加备注,显示在/etc/passwd第五字段
37.用户账号的初始配置文件
~/.bash_profile 每次登陆时执行
~/.bashrc 开始新shell时执行
~/.bash_logout 每次退出登陆时执行
具体步骤
创建用户useradd wjj
vi ~wjj(用户名)/.bash_profile
(编辑器最后一行编写echo"welcome wjj!" ,保存并退出)
用su空-空wjj查看
vi ~wjj/.basharc
(编辑器最后一行编写echo"hi! this is a new bash!"保存并退出)
用su空-空 wjj查看(在用户中,退出用户在进入就可以看到)
vi ~wjj/.bash_logout
(在编辑器最后一行编写echo "bye bye wjj!")
38. passwd设置更改用户口令(passwd 用户名)
-d 清空用户密码
-l 锁定用户账号
-S 查看用户账号的状态(是否被锁定)
-u 解锁用户账号
-x 加数字,密码最长有效时限
-n加数字,密码最短有效时限
-w 加数字,在密码过期前多少天开始提醒用户
-i 加数字,当密码过期后经过多少天该账号会被禁用
39. usermod 修改用户属性 (usermod 用户名)
-l :更改用户账号的名字 (usermod -l 新名字 旧名字)
-c :修改用户备注
-L :锁定用户账号
-U :解锁用户账户
40. userdel 删除用户
-r 删除用户同时删除用户的宿主目录
41. groupadd 添加组账号管理 groupadd 账号名
groupadd -g 888数字 账号名
42.gpasswd设置组账号密码,添加、删除组成员
-a 向组内添加一个用户
-d 从组内删除一个用户
-M 定义组成员列表、用逗号分隔
43. groupdel 删除组账号 groupdel 组账号名
44. id,groups,finger,w,whoami,who 查询命令
Id 用户名 (查询用户表示)
groups 用户名 (查询客户所属的主)
finger 用户名 (查询账号的详细信息)需安装建yum仓库装
w 查询已登录到主机的用户信息
whoami 查询当前登陆的账号名
who (与w命令类似,查询已登陆到主机的用户)
- :表示一般文件
d :表示目录
l :表示软连接
p :表示PIPE管道文件
s :表示socket通信套接字文件
c :表示字符设备文件
b :表示块设备文件
各权限的字母及8进制表示
读权限 r 4
写权限 w 2
可执行 x 1
无权限 - 0
45. chmod 设置文件目录或权限
-R 表示以递归的方式设置目录及目录下的所有子目录及文件的权限
u 属主
g 属组
o 其他人
a 所有人
+ 添加
- 删除
= 重置
46. 在建立目录时用-m选项可以直接设置新建目录的权限
chown 设置文件的归属
chown 属主 文件
chown :属组 文件
chown 属主:属组 文件
47. umask 权限掩码
设置umask值 (umask 020)