Terminal
命令行提示符 [username@hostname ~]$
短参数
- 一个字母
- 区分大小写
- 可组合使用,如
command -paTc
- 赋值
command -p 10
- 举例
ls -a
长参数
command --parameter1 --parameter2
- 参数赋值
command --parameter=10
- 可与短参数组合使用
command --parameter1 --parameter2 -paTc
- 举例
ls --all
常用命令
Command Name | desc |
---|---|
date | Sat Mar 7 18:06:02 CST 2020 //CST = Central Standard Time |
ls | List,blue = 目录,green = 可执行文件,red = 压缩文件, light blue = 链接文件,gray = 其他文件,绿色背景表示不安全目录对所有人开放所有权限 |
ls -l | drwxr-xr-x. 13 root root 4096 Jun 2 2017 usr // 权限 链接数(拥有相同inode文件号的文件数量) 所有者名称 文件所在群组 文件大小(B) 最后修改日期 |
ls -h | drwxr-xr-x. 13 root root 4.0K Jun 2 2017 usr //human readable 适合阅读的模式 |
ls -t | 按最近修改时间降序,最后修改的在最前面 |
ls -a | 显示所有文件,包括.开头的隐藏文件 |
ls -i | 显示文件的inode |
cd | cd不加参数,直接回个人的家目录 |
du | disk usage 表示磁盘占用,这才是统计文件真正大小的方法 |
du -h | human readable |
du -a | all 不仅显示目录大小,也显示文件大小 |
du -s | sum 只显示总计大小 |
pwd | 打印工作目录 |
which | 获取可执行文件的位置,Linux中的可执行程序一般没有后缀名 |
Ctrl + R | 搜索使用过的命令 |
history | 列出所有使用过的命令 |
!number | 按编号执行history找到命令 |
shift+PgUp/PgDown | 向上或向下滚屏 |
Ctrl+U/K | 删除光标左侧/右侧的所有字符 |
Ctrl+W | 删除光标左侧的一个单词 |
操作文件
Command Name | desc |
---|---|
cat | concatenate 连接,一次显示所有文件内容 |
cat -n | 带行号 |
less | 按屏分页显示,空格翻页,回车读下一行,d前进半页,b回退一页,y回退一行,u回退半屏,q退出,=显示位置,/进入搜索模式,n向后搜索,N向前搜索 |
head | 显示开头10行 |
tail | 显示结尾10行 |
head/tail -n | 指定行数 |
tail -f | 跟踪最新 |
tail -s | 制定间隔刷新秒数 |
touch | 创建文件,愿意是touch一下更新文件的最新修改时间 |
mkdir | 创建目录 |
mkdir -p | 递归创建 mkdir one/two/three |
cp | copy$ cp new_file new_file_copy $ cp new_file one/
|
cp -r | 递归copy,使用通配符*快速cp $cp -r one new_one $ cp he* folder
|
mv | move 移动文件 |
rm | remove 慎用,linux没有回收站 |
rm -i | 询问是否删除 |
rm -f | force 强制 |
rm -r | 递归删除 |
rm -fr | 慎用,敲错一个字符就完蛋了 比如这样删掉整个系统 $rm -fr /
|
ln | link 链接,快捷方式 |
Physical | 硬链接$ ln file1 file2 ,file2与file1指向相同的inode,只能创建文件硬链接 |
Symbolic | 软链接$ ln -s file1 file2 ,file2指向file1,如果删除file1则file2会变成死链接,显示为红色字体 |
locate | 只能找到数据库里的文件,一般24小时更新文件数据库 |
find | 遍历硬盘 |
find -name | 在指定目录及其子目录下查找,不写path就查当前目录$find path -name filename
|
find -size | 查找大于10M的文件$find /var +10M
|
find -atime | 查找访问时间在7天内的文件$find /var -atime -7
|
find -type | 查找目录或文件$find /var -name filename -type d/f
|
find -delete | 删除找到的文件 |
find -exec | 针对找到的文件执行command,{}是占位符,会用找到的文件名替代 $find /var -name filename -exec chmod 600 {} \;
|
find -ok | 类似-exec,但是每个文件执行时都会要求确认 |
用户及权限
Command | Desc |
---|---|
sudo command | 以root身份运行your command |
sudo su | substitute[替换] user do切换到root用户 |
useradd | 添加用户,只有root可以执行# useradd jhon
|
passwd | 修改密码 # passwd jhon
|
userdel | 删除用户# userdel jhon
|
userdel -r | 把用户的home目录一并删除 |
groupadd | 添加群组 #groupadd groupname
|
groupdel | 删除群组#groupdel group1
|
usermod -l | 重命名,但是home目录的名字需要手动修改 |
usermod -g | 修改群组 |
usermode -G | 修改群组,将用户加入多个群组#usermod -G group1,group2 user
|
usermod -aG | append,追加到指定群组#usermod -aG group1,group2 user
|
chown | 改变文件所有者,#chown root filename
|
chown | #chown user:group filename |
chown -R | 递归,只能用大写R,#chown -R user:group directory
|
chgrp | 改变文件所在组,#chgrp root filename
|
chmod | 修改权限,file owner可执行 $chmod 700 filename
|
chmod -R | 递归修改 chmod -R 700 filename
|
软件安装
command | desc |
---|---|
yum update | 不删除旧包,推荐,防止删除造成依赖出错 |
yum upgrade | 删除旧包 |
yum search | 搜索软件包 |
yum install | 安装 |
yum remove | 删除 |
rpm -i filename.rpm | 如果官方的repo中没有,就只能下载rpm再手动执行 |
rpm -e packagename | 卸载 |
yum localinstall filename.rpm | 本地yum安装rpm包 |
yum remove packagename | 卸载 |
Linux的目录组织
Linux中的一切皆文件
- 分为普通文件和特殊文件
- 普通文件,文本、音乐、视频等
- 特殊文件,如光盘驱动器也是文件
- 文件包含:文件名、权限以及内容三部分,内容使用inode来标记,并与文件名关联
根目录 /
- 有且只有一个根目录,/
- 根目录就是Linux的顶层目录
- 目录命名,不要使用特殊字符,建议全部使用小写的英文字母
根目录的直属子目录
DirectoryName | Desc |
---|---|
bin | binary 可执行文件 |
sbin | system binary 系统二进制文件 |
boot | 系统启动文件 |
dev | 设备,每个子目录都代表一个社保,如硬盘、光驱 |
etc | 法语et cetera的缩写,意思为"等等...",包含系统的配置文件等一些零零碎碎的东西 |
home | 家目录,每个用户都有一个私人目录,root除外;~表示当前用户家目录 |
root | root的家目录 |
lib | library,表示库文件,如.so文件 |
media | 媒体文件,比如USB插入时,其中的文件就会出现在media中 |
mount | 挂载,类似media,一般用于临时挂载 |
opt | optional application software package 可选的第三方软件包,安装软件,类似program files |
srv | service,包含一些服务启动后所需的数据 |
tmp | temporary,普通用户或应用程序临时文件 |
usr | Unix Software resource,表示Unix操作系统软件资源,类似Windows的windows和program files两个目录的集合 |
var | variable,通常包含数据,如log、data等 |
用户与权限
- 只有在有必要时才切换到root用户进行操作,以保安全
- 每个用户都属于一个群组,root属于root组
- 如果不分配群组,则会自动创建一个与用户同名的群组
- dlrwx,d=directory l=link r=read w=write x=execute(如果是目录则表示此目录可以进入) -=没有相应权限
dl- | rwx- | rwx- | rwx- |
---|---|---|---|
属性 | 所有者 | 群组用户 | 其他用户 |
权限 | 数字 |
---|---|
r | 4 |
w | 2 |
x | 1 |
- root对所有文件拥有所有权限
软件安装
- redhat家族里的exe文件rpm: red hat package manager
- deb:debian家族的exe文件
- linux的软件包都存放在repo中
- rpm会管理依赖关系,自动从repo中下载依赖的包
- 切换软件仓库:
/etc/yum.repos.d/CentOS-Base.repo
- 修改CentOS默认yum源为国内yum镜像源
RTFM阅读手册
-
$sudo yum install -y man-pages
安装手册 -
$sudo mandb
更新手册 - 如何阅读
cp | [option] | ... | [-T] | Source | Dest |
---|---|---|---|---|---|
原封不动输入 | 可选参数 | 可以多个 | 可选 | 用实际内容替换 |
-
$yum -h
查看yum的帮助文档-2 -
$whatis yum
只显示概要
网友评论