文章目录
Linux远程登录
一般作为服务器使用,需要远程登录,通过ssh服务实现。默认端口号为22。
Linux的远程登录客户端有SecureCRT, Putty, SSH Secure Shell (建立在应用层和传输层上)。
Linux文件基本属性
- d 是目录;
- -是文件;
- l 则表示为链接文档(link file);
- b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
- rwx 表示可读可写可执行权限。
更改文件属性
chgrp:更改文件属组。
注:加上-R的参数,那么该目录下的所有文件的属组都会更改。
chgrp [-R] 属组名 文件名
chown:更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名;
chown [-R] 属主名:属组名 文件名
chmod:更改文件9个属性
chmod [-R] xyz 文件或目录
xyz对应每种身份(owner/group/others)各自的三个权限(r/w/x)累加后的分数,rwx对应分数分别为421。eg:当权限为: -rwxrwx— ,分数xyz则是:770。
Linux文件与目录管理
绝对路径:由根目录 / 写起,eg:/usr/share/doc 。
相对路径:不是由 / 写起,eg:cd …/man;表示从 /usr/share/doc 到 /usr/share/man 下。
处理目录的常用命令
ls(list files)列出目录及文件名
ls -al 目录名
- -d:仅列出目录
- -a:列出所有文件
- -l:列出文件属性
cd(change directory)切换目录
绝对路径:cd /root/runoob/
相对路径:cd ./runoob/
回到/root:cd ~
回到上一级目录:cd ..
pwd(print work directory)显示目前的目录
pwd [-P]
- -p:显示出确实的路径
mkdir(make directory)创建一个新的目录
mkdir [-mp] 目录名称
- -m :配置文件的权限
- -p :创建多级目录
rmdir(remove directory)删除一个空的目录
rmdir [-p] 目录名称
- -p :从该目录起,一次删除多级空目录
cp(copy file)复制文件或目录
cp [-adfilprsu] 来源档(source) 目标档(destination)
rm(remove)删除文件或目录
rm [-fir] 文件或目录
- -f :force,即忽略不存在的文件,不会出现警告
- -i :互动模式,在删除前会询问使用者是否动作
- -r :递归删除,较为危险
mv(move file)移动文件与目录,或修改名称
mv [-fiu] source destination
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
- -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
man 使用 man [命令] 来查看各个命令的使用文档
man cp
文件内容查看
命令 | 含义(可用man 命令 查看使用) |
---|---|
cat | 由第一行开始显示文件内容 |
tac | 从最后一行开始显示,即 tac 是 cat 的倒写 |
nl | 显示的同时输出行号 |
more | 一页一页的显示文件内容 |
less | 同more,且可以往前翻页 |
head | 只看头几行 |
tail | 只看尾巴几行 |
Linux用户和用户组管理
Linux系统是一个多用户多任务的分时操作系统。
用户账号的管理
添加用户账号
useradd 选项 用户名
选项:
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令。
删除账号
userdel 选项 用户名
常用选项为 -r,即把用户的主目录一起删除。
修改账号
usermod 选项 用户名
用户口令管理
指定和修改用户口令的Shell命令是passwd。
passwd 选项 用户名
超级用户可操作任何用户的口令。
为用户sam指定空口令,即删除该用户的口令:
passwd -d sam
锁定用户sam:
passwd -l sam
用户组的管理
增加新用户组
groupadd 选项 用户组
选项:
- -g GID 指定新用户组的组标识号(GID)。
eg:指定新标识号为101
# groupadd -g 101 group1
- -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
删除用户组
groupdel 用户组
修改用户组
groupmod 选项 用户组
选项:
- -g GID 为用户组指定新的组标识号。
- -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
- -n新用户组 将用户组的名字改为新名字
eg:将group2标识号改为10000,组名改为group3
# groupmod –g 10000 -n group3 group2
切换用户组
切换到root用户组:newgrp root
与用户账号有关的系统文件
/etc/passwd文件
用户管理工作涉及的最重要的一个文件。每个用户都可访问,各占一行。
内容如下:
用户名:口令(已加密):用户标识号:组标识号:注释性描述:主目录(起始工作目录):登录Shell
- 通常用户标识号的取值范围是0~65 535。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。
- 用户登录后,要启动Shell进程,将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序。
伪用户(pseudo users)
伪用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。
伪用户 | 含义 |
---|---|
bin | 拥有可执行的用户命令文件 |
sys | 拥有系统文件 |
adm | 拥有帐户文件 |
uucp | UUCP使用 |
lp | lp或lpd子系统使用 |
nobody | NFS使用 |
/etc/shadow文件
拥有账户文件/etc/shadow,其记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生,内容如下:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group文件
用户组的所有信息都存放在/etc/group文件中。内容如下:
组名:口令:组标识号:组内用户列表
添加批量用户
- 先编辑一个文本用户文件
每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。 - 以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户:
newusers < user.txt
- 执行命令/usr/sbin/pwunconv
将 /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadow的shadow密码栏删掉。 - 编辑每个用户的密码对照文件
格式为:用户名:密码
- 以 root 身份执行命令 /usr/sbin/chpasswd
创建用户密码,chpasswd 会将经过 /usr/bin/passwd 命令编码过的密码写入 /etc/passwd 的密码栏。
chpasswd < passwd.txt
- 确定密码经编码写入/etc/passwd的密码栏
执行命令 /usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow。
pwconv
Linux磁盘管理
常用命令
磁盘管理常用命令为 df、du 和 fdisk。
- df(disk free):列出文件系统的整体磁盘使用量
df [-ahikHTm] [目录或文件名]
- du(disk used):检查文件和目录的磁盘空间使用量
du [-ahskm] 文件或目录名称
- fdisk:用于磁盘分区
fdisk [-l] 装置名称 -l 输出该装置的分区内容
磁盘格式化
mkfs [-t 文件系统格式] 装置文件名
- -t :可以接文件系统格式,例如 ext3, ext2, vfat 等(系统有支持才会生效)
磁盘检验
**fsck(file system check)用来检查和维护不一致的文件系统。**系统掉电和磁盘发生问题时可使用。
fsck [-t 文件系统] [-ACay] 装置名称
磁盘挂载与卸除
磁盘挂载命令mount:
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
磁盘卸载命令 umount :
umount [-fn] 装置文件名或挂载点
选项
- -f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;
- -n :不升级 /etc/mtab 情况下卸除。
Linux vi/vim
Vim 是从 vi 发展出来的一个文本编辑器。
vi/vim 的使用
vi/vim 共分为三种模式,分别是命令模式,输入模式和底线命令模式。
命令模式:
启动 vi/vim,便进入了命令模式。此状态下敲击键盘会被Vim识别为命令,而非输入字符。
常用命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
- :wq 退出命令模式
输入模式
在命令模式下按i就进入了输入模式,即可编辑文本。
可使用按键如下:
- 字符按键以及Shift组合,输入字符,eg:自动补全ctrl+n
- \p< 插入一个include,并把光标置于<>中间
- \im 插入主函数
- \ip 插入printf,并自动添加\n,且把光标置于双引号中间
- \rr 运行程序
- \rc 保存并编译程序(会生成二进制文件)
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
基本命令有(已省略冒号):
- q 退出程序
- w 保存文件
- 按ESC键可随时退出底线命令模式。
Vim使用
新建runoob.txt文件并进入命令模式(一般模式)。
vim runoob.txt
各种按键说明
Linux yum命令
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器,提供了查找、安装、删除某一个、一组甚至全部软件包的命令。
yum 语法
yum [options] [command] [package ...]
- options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 “yes”),-q(不显示安装的过程)等等。
- command:要进行的操作。
- package:安装的包名。
yum常用命令
含义 | 命令 |
---|---|
列出所有可更新的软件清单 | yum check-update |
更新所有软件 | yum update |
仅安装指定的软件 | yum install <package_name> |
仅更新指定的软件 | yum update <package_name> |
列出所有可安裝的软件清单 | yum list |
删除软件包 | yum remove <package_name> |
查找软件包 | yum search |
清除缓存 | yum clean packages: 清除缓存目录下的软件包 |
同上 | yum clean headers: 清除缓存目录下的 headers |
同上 | yum clean oldheaders: 清除缓存目录下旧的 headers |
同上 | yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers |
Linux apt命令
apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。
apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,执行需要超级管理员权限(root)。
apt [options] [command] [package ...]
apt 常用命令
含义 | 命令 |
---|---|
列出所有可更新的软件清单 | sudo apt update |
升级软件包 | sudo apt upgrade |
列出可更新的软件包及版本信息 | apt list --upgradeable |
升级软件包,升级前先删除需要更新软件包 | sudo apt full-upgrade |
安装指定的软件 | sudo apt install <package_name> |
安装多个软件包 | sudo apt install <package_1> <package_2> <package_3> |
更新指定的软件 | sudo apt update <package_name> |
显示软件包具体信息,例如:版本号,安装大小,依赖关系等等 | sudo apt show <package_name> |
删除软件包 | sudo apt remove <package_name> |
清理不再使用的依赖和库文件 | sudo apt autoremove |
移除软件包及配置文件 | sudo apt purge <package_name> |
查找软件包 | sudo apt search |
列出所有已安装的包 | apt list --installed |
列出所有已安装的包的版本信息 | apt list --all-versions |