几个细节
关于Linux的安装,可以参考兄弟连Linux教程
设置Linux的IP地址
[root@localhost ~]# ifconfig eth0 192.168.1.156
获取root权限
sudo -i
linux严格区分大小写
ls和Ls不同,这一点和windows不同
以点(.)开头的文件是隐藏文件
如: .test.txt
Linux没有扩展名概念
Linux不靠扩展名区分文件类型
给文件起名的时候可以起个扩展名,方便管理员区分
清屏操作
Ctrl+l 或clear命令
添加用户
useradd zhangsan
passwd 1234567
添加组
groupadd group1
Linux常用命令
命令格式
命令 [-选项] [参数]
例:ls -la /etc
文件处理命令
ls 显示目录文件(list)
选项 | 详细内容 |
---|---|
-l | 显示详细信息(long) |
-a | 显示所有文件,包括隐藏文件(all) |
-h | 人性化显示(human) |
-d | 查看目录属性(direction) |
-i | 查看i节点 |
输入
[root@localhost ~]# ls -l
显示
-rw-r--r-- 1 root root 1205 Mar 26 00:45 anaconda-ks.cfg
各用户权限 | 硬链接 | 所有者 | 所属组 | 文件大小 | 最后修改时间 | 文件名 |
---|---|---|---|---|---|---|
-rw-r–r– | 1 | root | root | 1205 | Mar 26 00:45 | anaconda-ks.cfg |
- 表示文件类型,共有三种:-(文件)、d(目录)、l(软链接)
rw- 表示所有者(u)权限,r读 w写 x执行 -没有相应的权限
r– 表示所属组(g)权限,r读 w写 x执行 -没有相应的权限
r– 表示其他人(o)权限,r读 w写 x执行 -没有相应的权限
mkdir 创建新目录(make directories)
选项 | 详细内容 |
---|---|
-p | 递归创建 |
输入
[root@localhost ~]# mkdir /tmp/test
后面括号里的内容是注释,当然不能直接在命令上也这么敲
[root@localhost ~]# mkdir -p /tmp/Japan/cangjing (Japan和cangjing原本都不存在)
[root@localhost ~]# mkdir /tmp/Japan/boduo /tmp/Japan/longze (同时创建多个目录)
cd 切换目录(change directory)
[root@localhost ~]# cd /tmp/Japan/boduo
pwd 显示当前目录(print working directory)
输入
[root@localhost ~]# pwd
输出
/tmp/Japan/boduo
注: . 代表当前目录, ..代表上一级目录
[root@localhost ~]# cd .. (回到上一级目录)
rmdir 删除空目录(remove empty diretories)
$ rmdir /tmp/Japan/boduo
注:该命令只能删除空目录
cp 赋值文件或目录(copy)
选项 | 详细内容 |
---|---|
-rp | [原文件或目录] [目标目录] |
-p | 保留文件属性(properties) |
-r | 复制目录 |
注:直接复制文件不用加选项
$ cp /tmp/test.gz /home/test (复制文件不用加选项)
$ cp -r /tmp/Japan /home/test
注:cp可以同时赋值多个文件或目录
$ cp /etc/abc.log /etc/test.log /root (同时复制多个文件到/root目录下)
$ cp -p /tmp/test.gz /home/test (保留原文件的属性,包括修改时间等)
注:可以在复制的同时重命名
$ cp -r /tmp/Japan/longze /root/longze(将longze重命名为longze)
mv 剪切文件、重命名(move)
mv [原文件或目录] [目标目录]
$ mv /tmp/cangjing /tmp/cangjingkong (将cangjing改为cangjingkong)
$ mv /tmp/cangjingkong /tmp/test(将cangjingkong剪切到test目录下)
rm 删除文件或目录(remove)
选项 | 详细内容 |
---|---|
-r | 删除目录 |
-f | 强制执行 |
rm -rf /tmp/test
touch 创建空文件
$ touch /tmp/HTML5.html
注:不建议使用空格等特殊符号作为文件名
$ touch /tmp/”program files” (program files是一个文件,使用时必须用双引号括起来)
cat 显示文件内容
选项 | 详细内容 |
---|---|
-n | 显示行号(number) |
$ cat /etc/services
$cat /etc/issue
tac 反向显示文件内容
$ tac /etc/issue
more 分页显示文件内容
more [文件名]
$ more /etc/services
选项 | 详细内容 |
---|---|
(空格)或f | 翻页 |
(Enter) | 换行 |
(空格)或f | Q或q |
less 分页显示文件内容(可向上翻页)
less [文件名]
选项 | 详细内容 |
---|---|
↑ | 向上一行 |
↓ | 向下一行 |
PageDown | 向下一页 |
PageUP | 向上一页 |
$ less /etc/services
注:less还可查找,比如查找service,可在显示结果时输入 /service 按n键(next)显示下一个
head 显示文件前几行
选项 | 详细内容 |
---|---|
-n | 指定行数 |
$ head -n 20 /etc/services
tail 显示文件后面几行
选项 | 详细内容 |
---|---|
-n | 指定行数 |
-f | 动态显示文件末尾内容 |
$ tail -n 18 /etc/services
ln 生成链接文件(link)
ln -s [原文件] [目标文件]
选项 | 详细内容 |
---|---|
-s | 创建软链接 |
注:不加-s,会生成硬链接
ln -s /etc/issue /tmp/issue.soft
ln /etc/issue /tmp/issue.hard
注:软链接相当于Windows中的快捷方式,硬链接相当于保持原属性的复制+同步更新,并且当原文件被删除,软链接失效,但硬链接依然起作用。硬链接通过i节点识别,不能跨分区,不能针对目录使用。
权限管理命令
chmod 改变文件或目录权限(change the permissions mode of a file)
chmod [{ugoa}{+-=}{rwx}] [文件或目录]
chmod [421] [文件或目录]
选项 | 详细内容 |
---|---|
-R | 递归修改(改变该目录以及其所有子目录的权限) |
chmod u+wx /tmp/test
chmod g+r,o-r /tmp/test
用数字表示权限 r–>4 w–>2 x–>1
如:rwxrw-r– 表作 764
chmod 640 /tmp/test.html
权限 | 对文件 | 对目录 |
---|---|---|
r | 可以查看文件内容 | 可以列出目录中的内容 |
w | 可以修改文件内容 | 可以在目录中创建、删除文件 |
w | 可以执行文件 | 可以进入目录 |
chown 改变文件或目录的所有者(change file ownership)
chown [用户] [文件或用户]
chown zhangsan /tmp/test
注:改变所有者只有root才有这样的权限。
chgrp 改变文件或目录的所有组(change file group ownership)
chgrp [用户组] [文件或用户]
chgrp group1 /tmp/test
umask显示、设置文件的缺省权限(the user file-creation mask)
选项 | 详细内容 |
---|---|
-S | 以rwx形式显示新建文件缺省权限 |
输入
umask -S
执行结果
u=rwx,g=rx,o=rx
注:默认创建的目录权限为rwxr-xr-x,但缺省创建的文件不能有x权限,所以默认创建 的文件权限为rwxr–r–
输入
umask
执行结果
0022
注:第一个0为特殊权限,022为权限掩码,实际权限为777-022=755
修改默认权限值
umask 权限掩码
例
umask 023 (对应的权限值为777-023=754)
文件搜索命令
find 文件搜索
find [搜索范围] [匹配条件]
选项 | 详细内容 | 示例 | 备注 |
---|---|---|---|
name | 根据文件名搜索 | find /etc -name init | 若要做模糊搜索,可用通配符 * 匹配任意多个字符。例:find /etc -name *init*也可用通配符 ? 匹配单个任意字符。例:find /etc/ -name init??? |
iname | 不区分大小写 | find / -iname init | |
size | 根据文件大小查找 | find / -size +204800 | +n表示大于n, -n表示小于n, n表示等于n。n的单位是数据块,1个数据块是512字节(0.5K)。 |
user | 根据所有者进行查找 | find /home -user zhangsan | |
group | 根据所属组进行查找 | find /etc /-group root | |
amin | 根据访问时间查找(access) | find /etc -amin -5 | 5分钟内被访问过的 |
cmin | 根据文件属性查找(change) | find /etc -cmin -5 | 5分钟内修改过属性的 |
mmin | 根据文件内容(modify) | find /etc -mmin -5 | 5分钟内修改过文件内容的 |
type | 根据文件类型查找 | find /etc -type d | f文件 d目录 l软链接文件 |
inum | 根据i节点查找 | find /etc -inum 3477 | |
exec | 对查找的结果直接执行 | find /etc -name inittab -exec ls -l {} \; | 注意空格和分号。 |
ok | 同-exec,但会在执行前确认。 | find /etc -name inittab -ok ls -l {} \; |
locate 在文件资料库中查找文件
locate 文件名
选项 | 详细内容 |
---|---|
-i | 不区分大小写 |
locate inittab
updatedb 升级文件资料库
注:资料库不会收录临时文件/tmp中的文件
which 搜索命令所在的目录及别名信息
which 命令
which ls
whereis 搜索命令所在目录及帮助文档路径
whereis [命令名称]
whereis ls
grep 在文件中搜寻字符串匹配的行并输出
选项 | 详细内容 |
---|---|
-i | 不区分大小写 |
-v | 排除指定字串 |
grep mysql /root/install.log (查找mysql并输出行)
grep -v ^# /root/install.log (查找排除以#开头的行)
帮助命令
man 获得帮助信息(manual)
man [命令或配置文件]
man ls 查看ls命令的帮助信息
man services 查看配置文件services的帮助信息
man 1 passwd 查看命令passwd
man 5 passwd 查看配置文件passwd
注:1表示命令,5表示配置文件
whatis 获得简短的帮助信息
whatis ls
apropos 查看配置文件的简短信息
apropos services
注:命令大多都有一个选项–help,可以直接查看当前命令的帮助信息
help 获得shell内置命令的帮助信息
help umask
用户管理命令
useradd 添加新用户
useradd 用户名
useradd zhangsan
passwd 设置用户密码(password)
passwd 用户名
passwd zhangsan
who 查看登录用户信息
who
w 查看登录用户详细信息
w
未完待续…