Linux终端基础

相关概念

UNIX由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发,后来他们在BASIC语言的基础上开发了c语言,并在此基础上重构了UNIX并开源,这时候开始流行。UNIX是一个多用户分时操作系统,以c语言、shell、虚拟内存、用户权限管理、文件化操作等为基础,具有移植方便、简洁易懂、方便自动化、网络安全等特点。商业化后,有两大版本:BSD UNIX(Berkeley)、Unix(AT&T),他们是付费软件;
类UNIX符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX,主要有AIX(IBM)、Solaris(SUM)、HP-UX(HP)、IRIX(SGI)、Xenix(SCO)、A/UX(苹果);
POSIX标准可移植操作系统接口(Portable Operating System Interface of UNIX),并不局限于UNIX;
Linux内核由李纳斯·托瓦兹(Linus Torvalds)出于个人爱好编写的开源类UNIX系统(支持POSIX协议);
Linux发行版Linux内核+应用,主要有Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS等;
终端电脑支持多任务以后,通过串口连接到主机的输入输出设备,也即tty,Teletypes;
控制台直接连接到主机的输入输出设备;
虚拟终端在Linux系统中,alt+f1-f6可以呼出6个软件终端界面,实现在一台电脑上多个终端的软件模拟,现在也用tty表示;
ShellUNIX类系统默认的脚本语言。

文件系统

Linux系统文件路径格式

/a/b/c.file

系统根目录主要文件夹

目录 用途
/bin 系统命令工具。
/usr/bin 用户命令工具。
/sbin 系统超级管理员命令工具。
/usr/sbin 超级管理员管理命令。
/usr 应用程序目录,原来是放用户信息的,后来专门放应用,名字没改。
/root 超级管理员目录。
/home 用户目录,每个用户有一个单独的子目录,以用户名为名称。
/dev 设备相关文件(Linux下硬件设备也当作文件处理)。
/etc 系统管理相关配置文件。etc法语中是额外,最开始放琐碎的文件,后来文件系统层次化标准(FHS,UNIX标准之一)规范后,统一放配置文件。
/sys 系统目录。
/lib 动态链接库。
/var 经常修改的内容,例如日志等。
/tmp 临时文件。
/usr/src 内核源代码。
/opt 非系统服务软件目录。
/boot 启动系统所用的镜像及链接相关文件。
/media 自动识别的光驱、U盘等媒体。
/mnt 用于挂载别的文件系统。mount登山,在这里表示挂载。
/proc process,虚拟目录,系统内存映射,可以用来获取系统信息,或者修改部分信息。
/srv 一些服务启动后需要读取的数据。
/lost+found 系统非正常关机的缓存文件。
/selinux Selinux防火墙(Redhat、CentOS)。

文件权限

1、用户类型

用户 说明
root用户 系统管理员,唯一,具有最高权限。
虚拟用户 bin、daemon、adm、ftp、mail等系统服务。
普通用户 管理员创建,操作权限受限于文件权限。

管理员除了可以创建普通用户,还可以创建不同的用户组,为普通用户设置分组,这样同一个分组的用户就有组内访问权限。

2、权限种类

权限 作用
4 r,读。
2 w,写。
1 x,执行。

用他们的和只需要1位数字即可表示,比如7表示文件或文件夹具有全部权限。

3、用户权限

权限 作用
ower 文件创建者的权限。
group 文件创建者的所在用户组的权限。
other 其他用户的权限。

4、表示
在终端下,用一个十位的字符串展示文件或文件夹的类型和权限

含义
0 类型, d目录、-文件、l链接、b可随机存取装置。
1-3 ower权限,r读、w写、x执行、-无。
4-6 group权限,r读、w写、x执行、-无。
7-9 other权限,r读、w写、x执行、-无。

例如:drwxrwxr-x 为文件夹默认权限(group以上可读写执行、其他只读和执行)。

相关文件

文件 作用
/etc/shells shell配置文件,系统通过这个文件来配置用户可以访问的shell

/bin/sh
/bin/bash
/usr/bin/bash
/bin/tcsh
/bin/csh
/bin/ksh
/bin/zsh
/user/local/bin/fish
常见shell脚本。
/etc/group 配置用户的分组关系,格式:
groupName:password:GID:userList
groupName组名称;
password密码,一般显示为x;
GID分组id;
userList用户名列表,以逗号隔开。
/etc/passwd 配置用户的基本信息,格式:
userName:password:UID:GID:remark:homeDirectory:shellDirectory
userName用户名;
password密码,一般显示为x;
UID用户ID;
GID分组ID;
remark备注;
homeDirectory工作路径;
shellDirectory登陆之后默认的shell路径。
/etc/shadow 配置用户的加密信息,格式:
userName:password:updateDate:duration:period:warningDate:inactivePeriod:deadline
userName用户名;
password加密后的密码,*锁定、!!过期、$开头表示加密后的内容;
updateDate最后一次更新的时间,从1970年开始,单位为天;
duration两次修改密码的时间间隔,单位为天;
period密码有效期,单位为天;
warningDate警告用户的最后期限,单位为天;
inactivePeriod用户不登陆的有效期,单位为天;
deadline总有效时间,单位为天。
/etc/profile
/etc/profile.d
/etc/bashrc
配置系统环境变量,不建议修改。
~/.bash_profile
~/.bashrc
用户偏好设置。

终端登陆

1、本地登陆
直接在图形化界面调出虚拟终端界面;或者按alt+f1-f6切换终端;
2、远程登录
以腾讯云为例

ssh -q -l root -p 22 94.191.0.166
[email protected]'s password: ???
[root@VM_0_8_centos ~]# 

备注:提示符的组成[userName@host currentDirectory]#其中#表示root用户,如果是$表示普通用户。这个提示符是可以修改的。

操作指令

查看帮助

help #主帮助索引
help cd #查看具体命令
ls --help #部分命令的help菜单
man -k ls #查看文档
info ls #查看信息

用户切换

su #当前用户切换到管理员(Switch User),需要密码
exit #管理员切换到当前用户
sudo ??? #在普通用户下执行root赋予的命令,需要安装sudo(Superuser Do)

目录基本操作

pwd #显示当前路径(Print Work Directory)
pwd -p #显示当前路径的真实路径(剔除超链接)

cd // #切换到根目录(Change Directory)
cd /usr/bin #切换到某个绝对路径
cd ./usr/ #切换到相对路径(相对当前文件夹)
cd ~ #切换到用户根目录
cd ~/test #切换到/用户根目录/test
cd .. #切换到上一级文件夹
cd ../test #切换到上一级文件夹的test文件夹

ls #列出当前文件夹所有文件及子文件夹
ls -a #列出所有文件
ls -d #只列出文件夹
ls -l #列出详细信息

mkdir test #创建文件夹(Make Directory),默认权限drwxrwxr-x
mkdir -p test/a/b/c #创建文件夹(有不存在的上级文件夹自动创建)
mkdir -m  711 d #创建文件夹d并赋予 drwx--x--x执行权限
chmod 777 e #修改文件夹e的权限为drwxrwxrwx

rmdir test/c #删除文件夹,不为空报错
rmdir -p test/a/b/c #上级文件夹如果为空会一起删除,有一个不为空报错
rm -r #删除文件,或文件夹及里面的内容

cp  source1 source2 source3 destination #copy 复制source1、source2、source3到destination
mv  source1 source2 source3 destination #move 移动source1、source2、source3到destination 

文件操作

#新建文本
touch a.txt  #默认权限-rw-rw-r--

#预览文本
cat a.txt ,从第一行开始
tac a.txt #从最后一行开始
nl a.txt #带行号
more a.txt #分页,从前往后
less a.txt #分页,从后往前
head a.txt #只看头几行
less a.txt #只看最后几行

echo "hello" > a.txt #覆盖文件
echo "hello" >> a.txt #写入文件

编辑文档可以使用其他更便捷的工具,如vi、vim等。

其他常用指令

useradd -d /usr/user1 -m user1 #管理员创建新用户user1
userdel -r user1 #管理员删除用户(同时删除目录)
usermod -s /bin/sh user1 #管理员修改用户(这里修改了他的登陆shell)
passwd user1 #管理员修改user1的密码

groupadd group1 #管理员新建用户组
groupdel group1 #管理员删除用户组
groupmod -g 123 group1 #管理员修改用户组(这里修改了编号)
newgrp group2 #一个用户在多个组的时候,用于切换组

你可能感兴趣的:(Linux终端基础)