3 Linux基础知识与命令

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只显示概要

你可能感兴趣的:(3 Linux基础知识与命令)