文章目录
- sudo su
- init 命令
- Linux基础知识
- login命令
- ls命令
- cd命令
- pwd
- clear
- mkdir命令
- man命令
- rm命令
- rmdir命令
- touch命令
- cat命令
- file命令
- cp
- mv
- chmod命令
- chgrp命令
- head、tail
- grep
- wc、sort命令
- find、whereis
- which
- locate命令
- echo命令
- history命令
- ln命令
- 压缩命令
- **fdisk命令**
- **文件系统**
- shutdown
- halt
- poweroff
- reboot
- **more、less、cal、data命令**
- **vi操作**
- 用户权限和管理
- groupadd
- 重定向
- 管道符
- ps
- top
- kill
- killall
- crontab
- netstat
- lsof
- ulimit
- 配置静态ip
- ifconfig
- iP
- 查看操作系统信息
- free
- uname
- source
- rz
- sz
- install
- chsh
- last
- dd
- diff
- cmp
- quota
- at
- lp
sudo su
sudo (super do)
su (switch user 转换用户)
sudo su 长久提权
激活root: sudo passwd root
切换到root: su root
重新锁定root : sudo passwd -l root
init 命令
init 命令是一个 Linux 系统中的初始化进程,负责启动和管理系统中的各个进程。它是 Linux 启动过程的第一个用户级进程,其进程 ID 为 1。
切换运行级别:可以使用 init 命令切换系统的运行级别。
init [运行级别]
例如,要将系统切换到运行级别 3,可以运行以下命令:
init 3
当前运行级别:
runlevel
init 运行级别 0关机 6重启
在 Linux 中有七个运行级别(0-6)和一个特殊的 S 运行级别。
Linux 系统中的运行级别(runlevel)指的是系统当前正在运行的软件和服务的状态。init 是 Linux 系统中的一个进程,也是控制系统运行级别的主要程序之一。在 Linux 中有七个运行级别(0-6)和一个特殊的 S 运行级别。
下面是这些运行级别的简要说明:
0. 关机:
系统停止所有服务并关闭电源。
1. 单用户模式:
此级别下只有 root 用户能够登录,并且只有少数必要的服务会启动。可以用于系统修复或故障排除。
2. 多用户命令行模式:
此级别下启动了多个用户会话,并且显示了一个命令行提示符。通常情况下,没有图形界面。
3. 多用户命令行模式 + 网络支持:
此级别下与级别 2 类似,但启动了网络服务。
4. 保留级别:
此级别未使用,可以由系统管理员自定义。
5. 多用户图形界面模式:
此级别下启动了 X 窗口系统,可以启动图形化的应用程序。
6. 重启:
类似于运行级别 0,但最终会重启系统而不是关闭电源。
S. 单用户模式:
类似于运行级别 1,但在此级别下文件系统被挂载为只读状态。
需要注意的是,在切换运行级别时,系统会启动或停止相应的服务和进程。因此,请谨慎使用该命令以避免意外损坏系统。
Linux基础知识
终端命令格式
command [-options] [parameter]
[] 可有可无 <>一定有
Linux组成:
Linux内核 ;即Linux团队发布的内核。
Linux shell; shell是系统的用户界面,用户与内核进行交互操作。
Linux 文件系统 ;文件放在存储设备上的组织方法。
Linux应用程序 ;文本编辑,数据库,办公套件等。
vi编辑器模式:
命令模式:kjhi光标的移动。
插入模式:命令模式下i a o 操作进入插入模式。
转移模式:命令模式下输入转义字符: : / ?等进入转移模式。
用户:三类;
超级用户;UID标识为0。至高无上的访问权限,访问任何程序和文件。
管理用户;用于运行一定的系统服务程序。用户ID:1~999
普通用户;除了超级用户和管理用户之外,其余为普通用户。
Linux中查找文件的命令:
1. find 查找文件和目录。
2. which 按PATH规定路径查找相应命令。显示绝对路径。
3. whereis 查询命令和ubuntu数据库记载文件。
4. locate 将预备查询的文件名相同的问价查出来。
X-Windows:
X server服务端:
X Client客户端:
X Protocol协议:
Xwindow与字符界面的切换:tt1~tt7。x window启动占用tt7。1-6为字符界面。alt+ctrl+fn(1~6)切换。
Linux操作系统的优点:
1.基于unix设计,性能出色。
2.遵循GPL许可,自由软件。
3.符合POSIX标准,兼容性好。
4.可移植性好。
5.网络功能强大。
6.设备独立性。
7.安全性强。
8.良好的用户界面。
Linux缺点:发行版太多,各版本兼容性不好。入门要求高,中文支持不足。
Linux操作系统的接口:
1.用户接口
1.1命令行接口(命令解释程序shell提供)
1.2图形用户接口
2.程序接口
Linux目录结构:树状层次分层,一个根节点。
常用:/bin 可执行文件,基础命令。
/etc:系统配置文件。
/home:用户主目录。
/lib:共享库文件。
/root:超级用户目录
/tmp:临时文件。
/usr:存放与用户有关的文件。
/var:存放长度可变文件。exp日志文件和打印机。
Linux 可支持的文件系统类型:
1.FAT16文件系统
2.FAT32文件系统(不能进行故障恢复)
3.NTFS文件系统(文件加密,故障恢复)
Linux文件系统一般为:ext2、ext3、ext4
什么是shell?shell的功能有哪些?
1.shell作为命令解释器。(提供给使用者一个交互环境,用户和内核得到沟通)
是系统的最外层,等待用户输入。
2.shell作为程序设计语言。用户对系统资源的操作命令。
ubuntu默认的shell是bash。
目录文件: 蓝色
可执行: 绿色
压缩打包文件: 红色
login命令
login 的作用是登录系统 它的使用权限是所有用户
login [name][ -p ][ -h 主机名称]
-p 通知 login 保待现在的环境参数。
-h 用来向远程登录的之间传输用户名。
切换到另一个用户账户:
login username
ls命令
ls [options][filename]
ls 列出当前目录所有内容
ls -l 以列表方式详细显示内容信息
drwxr-xr-x:
-表示普通文件
d代表目录
b设备文件
ls -a 显示所有文件,包含隐藏文件及目录
ls -h 配合-l显示出文件的大小
ls -al == ll
-a --all:不隐藏任何以'.” 字符开始的项目。
-A --almost-all:列出除了' . ”及 '.. ”以外的任何项目。
--author :印出每个文件著作者。
-b --escape :以八进制溢出序列 示不可打印的字符。
--block-size = 大小:块以指定<大小>;的字节为单位。
-B --ignore-backups:不列出任何以 ~ 字符结束的项目。
-f :不进行排序 -aU 参数生效 -lst 参数失效。
-F --classify:加上文件类型的指示符号 (*/=@/ 其中一个)。
-g :like -l but do not list owner。
-G --no-group :inhibit display of group information。
-i --inode :列出每个文件的 inode 号。
-I --ignore=样式 : 不印出任何符合 Shell 万用字符<样式>;的项目。
-k : 即--block-size=1K。
-l : 使用较长格式列出信息。
-L --dereference:当显示符号链接的文件信息时 显示符号链接所指示的对象 而并非符号链接本身的信息。
-m : 所有项目以逗号分隔 并填满整行行宽。
-n --numeric-uid-gid : 类似-l 但列出 UID 及 GID 号。
-N --literal : 列出未经处理的项目名称 例如不特别处理控制字符。
-p --file-type : 加上文件类型的指示符号 (/=@/ 其中一个)。
-Q --quote-name : 将项目名称括上双引号。
-r --reverse : 依相反次序排列。
-R --recursive : 同时列出所有子目录层。
-s --size : 以块大小为序。
cd命令
cd
cd A
回到家目录:
cd
cd / 根目录
cd ~ 用户家目录
cd - :切换到上一次所在的目录
. 当前目录
回到上一次操作目录:cd -
回到上一层目录:cd ..
pwd
pwd 显示当前目录绝对路径
clear
clear命令用于清除当前屏幕终端所有内容
mkdir命令
mkdir 命令的作用是建立名称为 dirname 的子目录 与 MS DOS 下的 md 命令类似;它的使用权限是所有用户。
创建目录
mkdir [选项] 目录名 创建一个新目录
mkdir A
mkdir A B C
mkdir -m 761 E 权限-m
mkdir -p A/b 多级创建-p
-m --mode=模式 :设定权限<模式>; 与 chmod 类似。
-p --parents :需要时创建上层目录;如果目录早已存在 则不当作错误。
-v --verbose :每次创建新目录都显示信息。
--version :显示版本信息后离开。
man命令
man command
说明:查看command命令的使用手册
man操作键说明:
- 空格键:显示手册的下一页
- Enter键:滚动显示手册的下一行
- B: 显示上一页
- F: 显示下一页
- q: 退出
- /word: 搜索word字符串
rm命令
rm 删除指定文件
rm -r A 删除目录文件
rm /p.txt sudo临时提权
rm -i 安全询问 rm -i b.txt c.txt
rm *.txt
rm -f 强制删除 rm -f b.c
-v 显示过程
-d 链接文件
-r 或 -R 表示删除文件夹及文件夹下所有的内容 rm -r B rm -R D
注意:使用rm删除文件时无法恢复,建议使用rm时跟上 –i 参数
rmdir命令
rmdir A 只能删除空目录
rmdir [-p] 目录名 -p代表递归删除各级空目录
rmdir -p A/b
touch命令
创建文件
touch a.txt 创建一个空文件
touch b.txt c.txt
touch --help ; man touch
touch --version
cat命令
cat('concatenate’的缩写)命令用于连接并显示指定的一个和多个文件的有关信息 它的使用权限是所有用户
cat 显示某些文件的内容 concatenate 连锁合并
cat [选项] 文件名
cat [options] 文件 1 文件 2
[options]主要参数
-n :由第一行开始对所有输出的行数编号。
-b :和-n 相似 只不过对于空白行不编号。
-s :当遇到有连续两行以上的空白行时,就代换为一行的空白行。suppress repeated empty output lines
1.cat > e.txt 创建文件
写入内容:
不能更改
ctrl+D退出
2.cat e.txt 查看内容
vi e.txt 修改编辑
vim vi增强版
cat -A e.txt
cat -n 行号编号 对所有行输出行编号
cat -b 空行不编号行号 对非空行输出行编号
cat -s 连续空行压缩为一个空行
3. 合并: cat e.txt f.txt > h.txt
4. 追加 : cat f.txt >> e.txt 前项追加到后项
5. cat 直接显示标准输入内容
file命令
file 通过探测文件内容判断文件类型;使用权限是所有用户
file [选项] <文件名> 查看文件属性
多少位文件 基于xx平台
file /bin/ls
-v:在标准输出后显示版本信息 并且退出。
-z:探测压缩过的文件类型。
-L:允许符合连接。
-f name:从文件 namefile 中读取要分析的文件名列。
使用 file 命令可以知道某个文件究竟是二进制(ELF 格式)的可执行文件 还是 Shell Script文件 或者是其它的什么格式。
file 能识别的文件类型有目录、Shell 脚本、英文文本、二进制可执行文件、C 语言源文件、文本文件、DOS 的可执行文件。
cp
cp复制
cp [选项] (文件路径)<源文件> (目录)<目标>
cp a.txt B 文件a复制到文件B里去
sudo cp /etc/hosts /opt/
-f : 强制覆盖已存在的目标文件而不提示
-i 以安全询问的方式复制
-r : 若源文件为目录,则复制该目录下的所有内容
-v : 显示复制的进度
cp -i /etc/passwd B
cp -i /etc/passwd B/p.txt 重命名复制
mv
mv 文件路径 目录/文件名称
sudo mv /opt/hosts /etc/ :sudo临时提权
-f : 强制覆盖已存在的目标文件而不提示
-i : 交互式复制,覆盖时会提示用户确认
-v : 显示复制的进度
chmod命令
chmod u+rw 修改文件权限和文件属性
chmod <使用者+-=>
文件所有者 u 同组用户g 其他用户o 所有用户a
chmod u+x,g+x,o-x 文件名
chmod a+x
chmod 644
chmod u=rx 文件名
递归给文件夹及其子文件夹设置权限:
chmod -R <权限设置> <文件夹路径>
chown 要更改的用户名 文件名 (需切换root)
chgrp命令
chgrp 切换组 文件名 (需切换root)
grep 查找字符
grep -i a password3 -i不区分大小写
head、tail
head 查看日志信息命令
默认显示日志文件有前10行内容。
head -20 文件名: 显示日志文件的前20行内容。
head [数字选项] 文件名
默认10行 -5显示5行
tail 展示尾行
默认显示日志文件最后10行内容
-1显示1行
tail -f filename 实时显示日志的文件信息
会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
tail -15 文件名: 显示日志文件最后15行内容
grep
命令格式: grep 文件名
grep 是一个强大的文本搜索工具,允许对文本进行模式查找(正则表达式)
grep 命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。
grep 全称是 Global Regular Expression Print
grep 文件中查找特定字符串
grep 适用于查看内容较多的文件
通过grep搜索 /var/log/messages 文件中包含 vmware或者Vmware关键字的信息行
grep -i 'vmware' /var/log/messages
-v : 显示不包含匹配文本的所有行(相当于取反)
-n : 显示匹配的行及行号
-i : 忽略大小写
-c : 只输出匹配行的计数。
-h : 查询多文件时不显示文件名
-l : 查询多文件时只输出包含匹配字符的文件名
-s : 不显示不存在或无匹配文本的错误信息
grep 常用正则表在式:
^a : 搜索行首内容以a文本开头的行。 例如: grep –n '^a' 1.txt
ke$: 搜索行尾内容以ke文本结尾的行。例如: grep –n 'ke$' 1.txt
[Ss]igna[Ll]: 匹配[]中的任意一个字符,搜寻匹配单词为 SignaL、Signal、signaL、signal的行;
例如: grep –n ' [Ss]igna[Ll] '
wc、sort命令
wc 统计 行数 单词数 字符数
-l 行数 -w单词数 -m字符数
sort : 排序
-u 除去重复行
-n数值的大小排
-M月份缩写
-o <输出文件>存入指定文件
-t <分隔字符> 指定分隔符
-k 多少列
-r 反向
选中第三列 -t":" -k3 文件名
-rn 反序排序
find、whereis
find 命令的作用是在目录中搜索文件 它的使用权限是所有用户
find 查找文件或目录:
find [path][options][expression]
find [路径] [搜索条件]文件名
path 指定目录路径
系统从这里开始沿着目录树向下查找文件。如果不写 path 那么默认为当前目录。
[options]参数:
-depth :使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。
-maxdepth levels :示至多查找到开始目录的第level层子目录。level 是一个非负数 如果 level 是 0 的话示仅在当前目录中查找。
-mindepth levels :示至少查找到开始目录的第 level 层子目录。
-mount :不在其它文件系统(如 Msdos、Vfat 等)的目录和文件中查找。
-version :打印版本。
[expression]是匹配 达式 是find 命令接受的 达式 find 命令的所有操作都是针对 达式的。它的参数非常多这里只介绍一些常用的参数。
—name:支待统配符*和?
find . -name '*.sh' 查找当前目录下所有后缀为.sh的文件
find / -name 文件名 /:表示整个磁盘范围
find ~ -name "*.c" *多个字符
find ~ -name "?.c" ?单个字符
find / -iname 文件名 //不区分大小写搜索
find ~ -mtime -2 //内容修改时间 两天之内-2 之前+
-ctime n:搜索在过去 n 天修改过的文件;更改文件属性时间
-atime n:搜索在过去 n 天读取过的文件;文件访问时间n
find / -nouser 垃圾文件
-size n:搜索文件大小是 n 个 block 的文件
find ~ -size +25k 大于25k
find ~ -size -1M 小于1M
find ~ -size +25k -a -size -1M (或-o)
-group grpoupname:搜索所有组为 grpoupname 的文件。
-user 用户名:搜索所有文件属主为用户名(ID 或名称)的文件。
-size n:搜索文件大小是 n 个 block 的文件。
-print :输出搜索结果 并且打印。
(1)根据文件名查找
find / -name lilo.conf
'/'表示搜索整个硬盘
(2)根据部分文件名查找方法
find / -name *abvd*
(3)使用混合查找方式查找文件
在/etc 目录中查找大于 500000 字节 并且在 24 小时内修改的某个文件 则可以使用 -and (与)把两个查找参数链接起来组合成一个混合的查找方式。
find /etc -size +500000c -and -mtime +1
whereis 查找命令和文件在哪儿
which
which 用于查找工具或者程序的安装位置;
按PATH规定路径显示命令所在绝对路径
例如: which ls
echo"$PATH" 显示PATH变量值
locate命令
locate 查找数据库文件
updatedb 更新数据库
echo命令
echo "$PATH"
echo $histsize
evho输出
echo hello world
hello world
echo “abc abc”
echo -n 光标不换行
history命令
history 数字 取最近的多少条命令
-c 清除 -w 写入
-r 读出来 -a 新增命令
! 历史命令
!!上一个命令
ln命令
ln [options] 源文件 [链接名]
-f :链结时先将源文件删除。
-d :允许系统管理者硬链结自己的目录。
-s :进行软链结(Symbolic Link)。
-b :将在链结时会被覆盖或删除的文件进行备份
硬链接
ln创建快捷方式 硬链接
ln l1.txt l1.hl
硬链接的文件大小与源文件相同,即使删除源文件,链接文件依然存在。
硬连接的作用是允许一个文件拥有多个有效路径名 这样用户就可以建立硬连接到重要文件 以防止'误删”的功能。
其原因如上所述 因为对应该目录的索引节点有一个以上的连接。
只删除一个连接并不影响索引节点本身和其它的连接 只有当最后一个连接被删除后 文件的数据块及目录的连接才会被释放。
也就是说 文件才会被真正删除。
软链接
ln -s 源文件名称 目标文件名称 : 软链接
软链接只是指向源文件的一个链接,类似于windows的快捷方式。
源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用。
软链接可以链接目录
为了能方便地进入 Web 服务器(/usr/local/httpd/htdocs)文档所在的目录 在主目录下可以使用以下命令:
ln -s /usr/local/httpd/htdocs gg
这样每次进入gg 目录就可访问Web 服务器的文档 以后如果不再访问 Web 服务器的文档
时 删除 gg 即可 而真正的 Web 服务器的文档并没有删除。
压缩命令
bzip2、zcat、bzcat
bzip2 压缩 .bz2
bunzip2 解压 .bz2
zcat 针对gz 不用解压,直接查看压缩文件内容
bzcat 针对bz2
gzip
tar 与 gzip 命令结合使用实现文件 打包、压缩,
压缩后的扩展名为xxx.tar.gz
gzip命令格式: gzip [选项] 被压缩文件
gzip -d 解压 -n 压缩级别 : 同时压缩和解压
gzip选项说明:
-r :压缩所有子目录
-d :解压
注意:
实际应用是在tar 选项中增加一个 -z 选项来调用gzip实现打包和压缩的过程
压缩文件: tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
解压缩文件: tar -zxvf 打包文件.tar.gz
解压缩文件到指定目录: tar -zxvf 打包文件.tar.gz -C 目标路径
zip压缩
zip -r archive.zip /path/to/directory
这将创建一个名为 archive.zip 的压缩文件,其中包含了 /path/to/directory 目录下的所有文件和子目录。
如果你想要将多个文件和目录一起压缩成一个 zip 文件,可以执行类似如下的命令:
zip -r archive.zip file1 file2 /path/to/directory
这将创建一个名为 archive.zip 的压缩文件,其中包含了 file1、file2 以及 /path/to/directory 目录下的所有内容。
zip解压
要在Linux上解压缩ZIP文件,您可以使用以下命令:
unzip filename.zip
将 filename.zip
替换为您要解压缩的ZIP文件的实际文件名。
此命令将在当前目录下解压缩ZIP文件,并将其内容提取到当前目录中。
如果您希望将ZIP文件解压缩到特定的目录,请使用 -d
选项指定目标目录。例如:
unzip filename.zip -d /path/to/destination
这将解压缩ZIP文件并将其内容提取到 /path/to/destination
目录中。
请注意,如果 unzip
命令不在您的系统上安装,则需要先安装它。在大多数基于Debian的发行版(如Ubuntu)上,可以使用以下命令安装:
sudo apt-get install unzip
在其他Linux发行版中,可以使用相应的软件包管理工具安装 unzip
。
tar(重要)
tar 打包
# -c是表示产生新的包,-f指定包的文件名。
# -r是表示增加文件的意思。
# -u是表示更新文件的意思。
# -t是列出文件的意思
# -x是解包的意思 --extract或--get
# -v或--verbose:显示指令执行过程
# -z或--gzip或--ungzip:通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz
-cvf 打包
tar -cvf 打包文件.tar 被打包的文件/路径
-xvf 解包
tar -xvf 打包文件.tar
-tvf 查看
-cf 打包
-czf 打包后压缩成gz
-cjf 打包压缩成bzip2
压缩解压文件后不存在
解包文件后还存在
打包压缩
tar -zcf lyh.tar.gz /tmp/lyh/*
tar -cjvf .tar.bz2 各类文件 bzip2打包
-xjvf 解包bz2
tar -czvf .tar.gz gzip打包
tar -xzvf 抽取解包
!!! -C代表change目录的意思 !!!
[root@hadoop102 software]# tar -zxvf jre-8u321-linux-x64.tar.gz -C /opt/module/
-A或--catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或--create:建立新的备份文件;
-C <目录>:切换工作目录,先进入指定目录再执行压缩/解压缩操作,可用于仅压缩特定目录里的内容或解压缩到特定目录;
-d:记录文件的差别;
-x或--extract或--get:从归档文件中提取文件,可以搭配-C(大写)在特定目录解开,
需要注意的是-c、-t、-x不可同时出现在一串命令中;
-t或--list:列出备份文件的内容;
-z或--gzip或--ungzip:通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz;
-Z或--compress或--uncompress:通过compress指令处理备份文件;
-f<备份文件>或--file=<备份文件>:指定备份文件;
-v或--verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:通过bzip2指令压缩/解压缩文件,文件名最好为*.tar.bz2;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或--same-permissions:保留原来的文件权限与属性;
-P或--absolute-names:使用文件名的绝对路径,不移除文件名称前的“/”号;
-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
--exclude=<范本样式>:排除符合范本样式的文件;
--remove-files:归档/压缩之后删除源文件
解压小结
1)对于.tar结尾的文件
tar -xf all.tar
2)对于.gz结尾的文件
gzip -d all.gz
gunzip all.gz
3)对于.tgz或.tar.gz结尾的文件
tar -xzf all.tar.gz
tar -xzf all.tgz
4)对于.bz2结尾的文件
bzip2 -d all.bz2
bunzip2 all.bz2
5)对于tar.bz2结尾的文件
tar -xjf all.tar.bz2
6)对于.Z结尾的文件
uncompress all.Z
7)对于.tar.Z结尾的文件
tar -xZf all.tar.z
fdisk命令
fdisk [参数] [选项]:磁盘名称
sudo fdisk
-l 查看当前分区情况
p 打印分区表
n 新建分区
d 删除一个分区
q 退出不保存
w 分区写进分区表,保存并退出
fdisk /dev/sdb1
1
m
w
文件系统
ext文件系统
mount挂载与卸载umount
mount 命令的作用是加载文件系统 它的用权限是超级用户或/etc/fstab 中允许的使用者
mount -a [-fv] [-t vfstype] [-n] [-rw] [-F] device dir
手动挂载 mount device分区 dir挂载点
默认挂载点 根目录下的mnt
卸载 umount
-h :显示辅助信息。
-v :显示信息 通常和-f 用来除错。
-a :将/etc/fstab 中定义的所有文件系统挂上。
-F :这个命令通常和-a 一起使用 它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 文件系统时可以加快加载的速度。
-f :通常用于除错。它会使 mount 不执行实际挂上的动作 而是模拟整个挂上的过程 通常会和-v 一起使用。
-t vfstype:显示被加载文件系统的类型。
-n :一般而言 mount 挂上后会在/etc/mtab 中写入一笔资料 在系统中没有可写入文件系统的情况下 可以用这个选项取消这个动作。
在决定将设备挂接之前 先要查看一下计算机是不是有个/mnt 的空目录 该目录就是专门用来当作挂载点(Mount Point)的目录。建议在/mnt 里建几个/mnt/cdrom、/mnt/floppy、/mnt/mo等目录 当作目录的专用挂载点。举例而言 如要挂载下列 5 个设备 其执行指令可能如下(假设都是 Linux 的 ext2 系统 如果是Windows XX 请将 ext2 改成 vfat):
软盘 => mount -t ext2 /dev/fd0 /mnt/floppy
cdrom => mount -t iso9660 /dev/hdc /mnt/cdrom
SCSI cdrom => mount -t iso9660 /dev/sdb /mnt/scdrom
SCSI cdr => mount -t iso9660 /dev/sdc /mnt/scdr
umount
umount 命令的作用是卸载一个文件系统 它的使用权限是超级用户或/etc/fstab 中允许的使用者
unmount -a [-fFnrsvw] [-t vfstype] [-n] [-rw] [-F] device dir
umount 命令是 mount 命令的逆操作
它的参数和使用方法和 mount 命令是一样的。
Linux挂装CD-ROM 后 会锁定CD—ROM 这样就不能用CD-ROM 面板上的 Eject 按钮弹出它。
但是 当不再需要光盘时 如果已将/cdrom 作为符号链接 请使用 umount/cdrom 来卸装它。
仅当无用户正在使用光盘时 该命令才会成功。该命令包括了将带有当前工作目录当作该光盘中的目录的终端窗口。
df、du
df 命令用来检查文件系统的磁盘空间占用情况 使用权限是所有用户
df [options]
df [选项] 查看整个磁盘的分区情况
-s 对每个Names参数只给出占用的数据块总数
-a 全部文件系统
-h 以兆mb或gb为单位显示
-k 以kb显示
-x 跳过在不同文件系统上的目录不予统计。
-l 计算所有的文件大小 对硬链接文件则计算多次。
-i 显示 inode 信息而非块使用量。
-P 使用 POSIX 输出格式。
-T 显示文件系统类型。
du 查看当前所有文件及目录信息
-sh 整个文件以m兆显示的总和
-ab 所有文件以b字节显示
-a 列出说有文件和目录大小
-b 字节b为单位
-h mb或gb为单位
文件挂载与卸载的一般过程
fdisk 分区
mkfs 创建文件系统
1.创建一个硬盘13G:sdb
mkfs -t ext3 /dev/sdb1
2.查看硬盘情况
sudo fdisk -l
或者 cat /etc/mtab
卷标:e2label device [newlabel]
3.先分区:分一个区,再格式化ext3文件系统
fdisk /dev/sdb
command m or help :
m
n
p主分区
1命名
w保存退出
mkfs -t ext3 /dev/sdb1格式化
4.挂载到默认的挂载目录之下
mount /dev/sdb1/mnt
5.查看是否挂载成功
mount
6.卸载
umount/dev/sdb1
7.查看是否卸载成功
mount
fsck命令
fsck 硬盘检测 只能由root用户来执行
fsck/dev/sdb1
shutdown
shutdown 安全关机 超级用户权限
-h 安全关机
-r 安全重启
-k 发出警告信息
-t 规定的时间后关机
-c :cancel current process 取消目前正在执行的关机程序。所以这个选项当然没有时间参数 但是可以输入一个用来解释的讯息 而这信息将会送到每位使用者
-F :在重启计算机时强迫 fsck。
-time :设定关机前的时间。
-m :将系统改为单用户模式。
-i :关机时显示系统信息。
shutdown -h +2
shutdown -h 22:00
shutdown –r now :重新启动操作系统,shutdown会给别的用户提示
shutdown -h now :立刻关机,其中now相当于时间为0的状态
shutdown -h 20:25 :系统在今天的20:25 会关机
shutdown -h +10 :系统再过十分钟后自动关机
halt
halt -f 强制关机
halt [-n] [-w] [-d] [-f] [-i] [-p]
-n:防止 sync 系统调用 它用在用 fsck 修补根分区之后 以阻止内核用老版本的超级块覆盖修补过的超级块。
-w :并不是真正的重启或关机 只是写 wtmp(/var/log/wtmp)纪录。
-f :没有调用 shutdown 而强制关机或重启。
-i :关机(或重启)前 关掉所有的网络接口。
-f :强迫关机 不呼叫 shutdown 这个指令。
-p :当关机的时候顺便做关闭电源的动作。
-d :关闭系统 但不留下纪录。
halt 就是调用 shutdown -h。halt 执行时 杀死应用进程 执行 sync(将存于 buffer 中的资料强制写入硬盘中)系统调用 文件系统写操作完成后就会停止内核。若系统的运行级别为 0或 6 则关闭系统;否则以 shutdown 指令(加上-h 参数)来取代。
poweroff
poweroff 关机
reboot
reboot 重启
reboot [-n] [-w] [-d] [-f] [-i]
-n 在重开机前不做将记忆体资料写回硬盘的动作。
-w 并不会真的重开机 只是把记录写到/var/log/wtmp 文件里。
-d 不把记录写到/var/log/wtmp 文件里(-n 这个参数包含了-d)。
-i 在重开机之前先把所有与网络相关的装置停止。
more、less、cal、data命令
more 对文件内容或查询结果分屏显示
more 适用于查看内容较多的文件,用于分屏显示文件内容
more 选项 文件名
ctrl+c退出
空格键: 显示文件的下一页内容
- Enter键 : 滚动显示文件下一行内容
- b : 显示文件的上一页内容(回滚上一页)
- f : 显示文件的下一页内容
- q : 退出
less 选项 文件名
q退出
cal 查看日历
data 显示系统的时间与日期
vi操作
vi
vim编辑器是vi的加强版本,具有代码补全、编译及错误跳转等
---模式一
命令模式 command mode
移动
ctrl+b 向后翻页
ctrl+f 向前翻页
ctrl+u 向上翻半屏
ctrl+d 向下翻半屏
光标移动:箭头符号
0 光标到行首
$ 光标到行尾
G 文件末尾
gg: 光标移动文件开头
1G 行首
[n]G 光标到第n行
[n]+ 向下移到n行
[n]- 向上移动n行
h: 左移
j: 下移
k: 上移
l: 右移
M: 光标移动到中间行
L: 光标移动到屏幕最后一行行首
w: 向后一次移动一个字
b: 向前一次移动一个字
{: 按段移动,上移
}: 按段移动,下移
删除
x 删除光标后一个字符,相当于 Del
X 删除光标前一个字符,相当于 Backspace
dd 删除光标所在行
[n]dd 删除光标所在行及之下的[n]行
D: 删除光标后本行所有内容,包含光标所在字符
d0: 删除光标前本行所有内容,不包含光标所在字符
dw: 删除光标开始位置的字,包含光标所在字符
复制
yy复制光标当前行
[n]yy 复制当前行已经一下的n行
p粘贴
恢复
u 恢复上一操作
查找
/keywords 光标向后查找 keywords n(next)
?keywords 光标往前查找 keywords n(next)
n 向下查找字符
/a: n
?a: n
替换
:[替换起始处],[替换终止处] s/要被替换的字符串/替换的字符串/[g][c]
:1,$ s/a/b/[g][c]
g 范围内的全部替换
c询问方式
---模式二
插入模式==编辑模式 edit mode:插入文本
命令模式之下,按下键盘字母:
i 字符前插入命令(光标前)
I 行首插入(行首)
a 字符后附加命令(光标后)
A 行末附加(行末)
o 行后开辟空行模式(向下新开一行,插入行首)
O 当前行前面插入一行(向上新开一行,插入行首)
设置行号 :set nu
取消行号 :set nonu
---模式三
转义模式==底行模式(末行模式) ex mode:文本保存相关
在命令模式下按 shift+;
wq 存盘退出,保存文件并退出vi编辑器
w 存盘,保存文件,执行完后会自动回到命令模式下
w!强制存盘
q 退出vi
q! 强制退出,不保存文件并退出vi编辑器。
用户权限和管理
权限概念及修改
Linux中可以通过 ls –l 来查看文件或目录的权限
用户管理
当前用户没有查看或者修改对应文件权限时应该怎么处理呢?
字母法命令格式: chmod u+r 文件名
用户类型说明:
u : 表示文件所属用户
g : 表示文件所属的用户组
o : 表示其他用户
a : 表示所有用户
权限设置说明:
+ : 增加权限
- : 撤消权限
= : 设定权限
数字法命令格式: chmod 755 文件名
命令说明:
755这三个数字分别表示的是 文件拥有者权限/用户组权限/其他用户权限
useradd
新增用户
命令说明:
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
主要参数
-c :加上备注文字 备注文字保存在 passwd 的备注栏中。
-d :指定用户登入时的启始目录。
-D :变更预设值。
-e :指定账号的有效期限 缺省 示永久有效。
-f :指定在密码过期后多少天即关闭该账号。
-g :指定用户所属的群组。
-G :指定用户所属的附加群组。
-m :自动建立用户的登入目录。
-M :不要自动建立用户的登入目录。
-n :取消建立以用户名称为名的群组。
-r :建立系统账号。
-s :指定用户登入后所使用的 shell。
-u :指定用户 ID 号。
使用 useradd 命令所建立的账号 实际上是保存在/etc/passwd 文本文件中
useradd admin123 : 创建一个普通账户admin123
useradd -g root admin2 : 创建用户admin2,并指定用户的组为root
增加一个名为 user001 的用户
sudo adduser user001
groupadd
groupadd 命令用于将新组加入系统
groupadd [-g gid] [-o]] [-r] [-f] groupname
-g gid:指定组 ID 号。
-o:允许组 ID 号 不必惟一。
-r:加入组 ID 号 低于 499 系统账号。
-f:加入已经有的组时 发展程序退出。
groupadd -g 344 cjh
此时在/etc/passwd 文件中产生一个组 ID(GID)是 344 的项目。
who
查看登录账户
选项说明:
-q 或 --count : 只显示用户的登录账号和登录用户的数量
-u 或 --heading : 显示列标题
su 切换用户
用户管理-切换用户
切换用户: su - 或者 su 用户名
su - : 切换到root用户
su 用户名 : 切换到指定用户下
注意:由普通用户切换到其他用户时,需要输入密码
passwd设置用户密码
passwd 或者 passwd 用户名
passwd : 用于设置当前用户的密码
passwd 用户名 : 用于设置指定用户的密码 (执行命令的用户必须为root)
用户权限和管理
修改 user001 用户的密码为 ack??123
sudo passwd user001
然后按照提示输入新密码 ack??123。
exit 退出登录账户
exit 命令的作用是退出系统 它的使用权限是所有用户
exit 命令没有参数
如果是图形界面,退出当前终端。
如果是使用ssh远程登录,退出登陆账户。
如果是切换后的登陆用户,退出则返回上一个登陆账号。
重定向
重定向>
、>>
Linux允许将命令执行结果重定向到另一个文件中。
可以将显示在终端的内容通过重定向添加或追加到另一个文件中。
> 重定向符号表示输出到新文件中,会覆盖文件中原有内容。
>> 重定向符号表示追加到新文件中,不会覆盖文件中原有的内容。
例1: ls -l > 1.txt
例2: ls –l >> 1.txt
管道符
Linux 允许将 一个命令的输出结果 可以 通过管道 做为 另一个命令的输入
常用的管道命令:
more :分屏显示执行结果
grep : 通过grep过滤执行结果的内容
例1: ls -l /usr/bin | more
例2: ls /usr/bin | grep '^au'
ps
ps -ef表示查看全格式的全部进程
-e 显示所有进程
-f 全格式
-h 不显示标题
ps -aux
-a 显示终端上的所有进程,包括其他用户的进程
-u 显示进程的详细状态
-x 显示没有控制终端的进程
ps命令一般会结合 grep使用,来查找特定应用程序的进程
例如:ps -aux | grep bin
另一种查看方式: ps -ef | grep bin
top
top命令用于实时动态查看系统进程相关信息。
常用交互快捷键说明:
M :根据内存的大小降序显示进程信息
P :根据CPU使用率大小降序显示进程信息
q : 退出top命令 或者按 ctrl+c也可以退出;没有任何延迟的更新。如果使用者有超级用户 则 top 命令将会以最高的优先序执行。
d:指定更新的间隔 以秒计算。
c:显示进程完整的路径与名称。
S:累积模式 会将己完成或消失的子行程的 CPU 时间累积起来。
s:安全模式。
i:不显示任何闲置(Idle)或无用(Zombie)的行程。 n:显示更新的次数 完成后将会退出 top。
kill
该命令表示强制关闭对应的进程。
kill [ -s signal / -p ] [ -a ] pid ...
kill -l [ signal ]
-s:指定发送的信号
-p:模拟发送信号
-l:指定信号的名称列
-SIGKILL:强制终止进程
pid:要中止进程的 ID 号
Signa:信号
进程号可以通过ps或者netstat等命令获取到
强行中止、回收内存
kill -9 进程号 :强制删除
解除 Linux 系统的死锁
kill -SIGKILL XXX
killall
可以直接使用进程的名字而不是进程标识号
killall -HUP inetd
用于向名为 "inetd" 的进程发送 SIGHUP(Hang Up)信号,以重新加载配置文件
crontab
crontab 命令用于创建、编辑和管理用户的 cron 作业。
- cron 是一个 Linux/Unix 系统中的定时任务调度器,可以让用户在指定时间自动执行命令或脚本。
- 使用 crontab 命令可以修改 crontab 配置文件 然后该配置由 cron 公用程序在适当的时间执行。
- 该命令使用权限是所有用户。
- 和 at 命令相比 crontab 命令适合完成固定周期的任务
crontab [ -u user ] 文件
crontab [ -u user ] { -l / -r / -e }
crontab -e :编辑当前用户的 cron 作业。如果没有设置过 cron 作业,则会打开一个空白文件或新建一个文件。
crontab -l :列出当前用户的 cron 作业。
crontab -r :删除当前用户的所有 cron 作业。
crontab -u username -e :以特定用户身份编辑 cron 作业(需要 root 权限)。
crontab -u username -l :列出特定用户的 cron 作业(需要 root 权限)。
crontab -u username -r :删除特定用户的所有 cron 作业(需要 root 权限)。
* * * * * command
分钟、小时、日期、月份、星期几
每天早上 8 点运行一个脚本
0 8 * * * /path/to/script.sh
每小时运行一个命令
0 * * * * command
每周一到周五的上午 9 点运行一个命令
0 9 * * 1-5 command
netstat
netstat -anlt --列出当前系统所有处于监听状态的 TCP 端口
-a : 显示所有连接和侦听端口(包括TCP、UDP和UNIX域套接字)。
-n : 使用数字格式显示地址和端口号,而不是主机名称和服务名称。
-l : 只显示处于监听状态的端口。
-t : 只显示 TCP 协议相关的连接和监听状态。
-p : 显示对应的进程id
-u : 显示所有udp协议端口
-o 或 --timers : 显示计时器
netstat –anopt | grep sshd 查看ssh的端口
netstat -an --所有网络连接的状态(包括 UDP 和 UNIX 套接字)
注意: netstat 一般会配合管道符命令 grep来查看特定进程的端口信息
例如: netstat -anp | grep mysql
通过 netstat 命令查看 22 端口是否有开启:
sudo netstat -tlnp | grep ':22'
netstat -anlt 命令快速查看当前系统中哪些端口正在被监听,并且它们的状态。这对于准确诊断网络连接问题非常有用,例如找出正在占用某个端口的进程、检测网络攻击等。
netstat -anlt | wc -l --统计当前系统处于监听状态的 TCP 端口数量
netstat -anlt:列出当前系统所有处于监听状态的 TCP 端口。
|:管道符号,将前一个命令的输出作为后一个命令的输入。
wc -l:统计输入的行数。
-l 选项表示只统计行数。
lsof
命令格式: lsof -i
说明:lsof(list open files)是一个列出当前系统打开文件的工具,可以查看系统中正在使用端口的详细信息
lsof -i : 如果不给出条件,则默认显示所有进程打开的所有
lsof -i :3306 : 列出使用端口3306的进程信息
提示:
在Linux中启动软件时,会出现因为端口被占用而无法启动的情况,这个时候就需要我们用lsof -i命令查看安装软件要使用的端口是否被占用。
通过 lsof 命令查看 22 端口是否被占用:
sudo lsof -i :22
ulimit
ulimit -n --查看当前用户所允许的最大文件描述符数量限制
ulimit -n <number> --临时修改最大文件描述符数量限制
--将 <number> 替换为你想要设置的新限制值
--通过临时修改文件描述符数量限制的方式,只对当前会话有效
--当会话结束后,限制值会恢复到系统默认值
配置静态ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33
在打开的文件中,找到并编辑以下属性:
DEVICE=ens33 # 网络接口名称
BOOTPROTO=static # 使用静态 IP 地址
IPADDR=192.168.0.100 # 要分配给 ens33 接口的 IP 地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.0.1 # 默认网关(可选)
DNS1=8.8.8.8 # DNS 服务器地址(可选)
重启网络服务,使更改生效。
(一个不行就用另一个)
systemctl restart network
或
service network restart
- 在大多数Linux发行版中,service 命令和 systemctl 命令都可以用来管理系统服务。
- 两者的作用是相同的,只是语法略有不同。
- service 命令是旧版系统初始化脚本的管理工具,而 systemctl 命令是新版使用systemd初始化管理器的管理工具。
使用ifconfig查看是否生效
ifconfig
- ifconfig 用于查看和更改网络接口的地址和参数 包括 IP 地址、网络掩码、广播地
址 - 使用权限是超级用户。
ifconfig -interface [options] address
主要参数
-interface:指定的网络接口名 如ethO 和 eth1。 up:激活指定的网络接口卡。
down:关闭指定的网络接口。
broadcast address:设置接口的广播地址。 pointopoint:启用点对点方式。 address:设置指定接口设备的 IP 地址。 netmask address:设置接口的子网掩码。
如果要暂停某个网络接口的工作 可以使用down 参数:
ifconfig ethO down
iP
ip 是 iproute2 软件包里面的一个强大的网络配置工具 它能够替代一些传统的网络管理工具 例如ifconfig、route 等 使用权限为超级用户。几乎所有的Linux 发行版本都支待该命令。
ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]
主要参数
OPTIONS 是修改ip 行为或改变其输出的选项。所有的选项都是以-字符开头,分为长、
短两种形式。
-V , -Version 打印 ip 的版本并退出。
-s , -stats , -statistics 输出更为详尽的信息。如果这个选项出现两次或多次则输出的信息将更为详尽。
-f , -family 这个选项后面接协议种类 包括 inet、inet6 或 link 强调使用的协议种类。
如果没有足够的信息告诉ip 使用的协议种类 ip 就会使用默认值 inet 或 any。
link 比较特殊,不涉及任何网络协议。
-4 是-family inet 的简写。
-6 是-family inet6 的简写。
-O 是-family link 的简写。
-o , -oneline 对每行记录都使用单行输出,回行用字符代替。如果需要使用wc、grep 等工具处理 ip 的输出则会用到这个选项。
-r , -resolve 查询域名解析系统 用获得的主机名代替主机 IP 地址
OBJECT 是要管理者获取信息的对象。目前 ip 认识的对象
查看操作系统信息
cat /proc/version
说明:查看当前操作系统版本信息
cat /etc/issue
说明:查看版本当前操作系统发行信息
free
free 命令用来显示内存的使用情况 使用权限是所有用户
free [-b/-k/-m] [-o] [-s delay] [-t] [-V]
查看内存信息:
free -h
查看内存信息:
cat /proc/meminfo
-b -k -m :分别以字节(KB、MB)为单位显示内存使用情况。
-s delay :显示每隔多少秒数来显示一次内存使用情况。
-t :显示内存总和列。
-o :不显示缓冲区调节列。
示例:
---
total used free shared buff/cache available
Mem: 125G 1.7G 44G 1.1G 79G 121G
Swap: 31G 194M 31G
---
total: 系统总内存大小为 125G。
used: 当前已使用的内存大小为 1.7G。
free: 当前可用的空闲内存大小为 44G。
shared: 被多个进程共享的内存大小为 1.1G。
buff/cache: 用于缓存的内存大小为 79G。这部分内存既可以用于系统缓存数据,也可以在需要时释放给应用程序使用。
available: 当前可用的内存大小为 121G。这个值是根据系统当前内存使用情况计算得出的估计值,表示可供应用程序使用的内存大小。
关于交换空间(Swap):
Swap: 总交换空间大小为 31G。
used: 当前已使用的交换空间大小为 194M。
free: 当前可用的空闲交换空间大小为 31G。
---
交换空间(Swap)是计算机系统中用于暂时存储不再活跃的内存数据的一种特殊空间。
当系统的物理内存(RAM)被占满时,操作系统会将部分不活跃的内存页面(通常是最近最少使用的页面)移动到交换空间中,以释放物理内存供其他程序使用。
- 内存压力大:当系统的物理内存被用完时,交换空间可以作为备用内存使用,确保系统能够继续运行,尽管性能可能会受到影响。
- 内存页面置换:操作系统通过交换空间实现内存页面的置换(Page Replacement),以便让活跃的程序能够继续运行,同时将不活跃的程序暂时存储在交换空间中。
然而,由于硬盘的读写速度远远低于内存的读写速度,所以在使用交换空间时,系统的性能会受到明显影响。
因此,过度使用交换空间往往会导致系统变得缓慢。为了避免过度使用交换空间,建议及时增加物理内存大小,或者优化系统资源的使用方式。
uname
uname -r
这个命令会显示当前系统所运行的内核版本号。
uname -a
这个命令会显示更详细的内核信息,包括内核版本、操作系统版本、处理器类型等。
source
- source 命令用于在当前 Shell 环境中执行指定脚本文件的内容。
- 加载并执行 Shell 脚本,将其中的变量、函数和别名等内容应用到当前的 Shell 环境中。
source <脚本文件路径>
简化形式:
. <脚本文件路径>
. 是 source 命令的别名,两者是等价的。
rz
rz命令是用于在Linux系统上从本地计算机上传文件到远程主机的命令行工具
它通常与sz命令一起使用,sz命令用于从远程主机下载文件到本地计算机。
以下是一些常用的rz命令选项和用法:
-
rz -b
:使用二进制模式传输文件。 -
rz -e
:使用8位数据位传输文件。 -
rz -z
:使用压缩模式传输文件。 -
rz -v
:显示详细的传输信息。 -
rz -t
:传输完后将文件的修改时间设置为源文件的修改时间。 -
rz -P <path>
:指定接收文件的路径。 -
rz --help
:显示rz命令的帮助信息。 -
-a
或--append
:将上传的文件追加到接收端已有的文件中。 -
-E
或--escape
:使用反斜线转义特殊字符(默认不开启)。 -
-f
或--force
:覆盖接收端已有的同名文件。 -
-k
或--keep-date
:保持接收文件的修改时间和访问时间与源文件一致。 -
-n
或--name
:将上传的文件名传递给接收端,以便在接收端自动重命名。 -
-N
或--no-name
:不使用重命名选项,接收端使用上传文件的名称。 -
-o
或--overwrite
:覆盖接收端已有的同名文件,而不提示确认消息。 -
-q
或--quiet
:静默模式,不显示任何传输信息。 -
-s
或--stop
:停止接收端的输出,等待上传文件。 -
-S
或--strip-control
:去除控制字符(默认不开启)。
这些选项可以根据需要进行组合使用,以满足不同的文件上传需求。
使用rz命令时,一般会在终端仿真器中输入rz
命令后,选择要上传的文件,在上传过程中会显示传输进度和其他相关信息。请注意,在使用rz命令之前,确保远程主机上已经安装了rz支持的工具和程序(如lrzsz包)。
sz
以下是一些常见的 sz 命令选项的示例:
sz filename
:将本地文件 filename 发送到远程主机。sz -b filename
:以二进制模式发送文件。sz -e filename
:将控制字符转义为C风格的转义序列。sz -k filename
:保持传输的文件权限与本地文件一致。sz -m filename
:发送文件后,将本地文件移动到回收站。sz -n newname filename
:将本地文件发送到远程主机,并在接收端重命名为 newname。sz -q filename
:在静默模式下发送文件,不显示传输信息。sz -t filename
:保持传输的文件修改时间与本地文件一致。sz -v filename
:显示详细的传输信息。sz -z filename
:在传输过程中使用压缩算法。
这些选项可以根据需要进行组合使用,以满足不同的文件传输需求。请注意,在使用 sz 命令之前,请确保远程主机上已经安装了相应的 lrzsz 软件包,并且远程主机和本地计算机之间建立了正确的连接。
install
install 命令的作用是安装或升级软件或备份数据 它的使用权限是所有用户
(1) install [选项]... 来源 目的地
(2) install [选项]... 来源... 目录
(3) install -d [选项]... 目录...
--backup[=CONTROL] :为每个已存在的目的地文件进行备份。
-b :类似 --backup 但不接受任何参数。
-c :(此选项不作处理)。
-d --directory:所有参数都作为目录处理 而且会创建指定目录的所有主目录。
-D :创建<目的地>前的所有主目录 然后将<来源>复制至 <目的地>;在第一种使用格式中有用。
-g --group=组:自行设定所属组 而不是进程目前的所属组。
-m --mode=模式:自行设定权限模式 (像 chmod) 而不是 rwxr-xr-x。
-o --owner=所有者:自行设定所有者 (只适用于超级用户)。
-p --preserve-timestamps:以<来源>文件的访问/修改时间作为相应的目的地文件的时间属性。
-s --strip:用 strip 命令删除 symbol table 只适用于第一及第二种使用格式。
-S --suffix=后缀:自行指定备份文件的<后缀>。
-v --verbose:处理每个文件/目录时印出名称。
--help :显示此帮助信息并离开。
--version :显示版本信息并离开。
- 在前两种格式中
会将<来源>复制至<目的地>或将多个<来源>文件复制至已存在的<目录>;同时设定权限模式及所有者/所属组。 - 在第三种格式中 会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项时也是必须的。
chsh
chsh 命令的作用是更改使用者 shell 设定 它的使用权限是所有使用者
chsh [ -s ] [ -list ] [ --help ] [ -v ] [ username ]
-l :显示系统所有 Shell 类型。
-v :显示 Shell 版本号
前面介绍了Linux 下有多种 Shell 一般缺省的是Bash
如果想更换Shell 类型可以使用 chsh命令。
先输入账户密码 然后输入新Shell 类型
如果操作正确系统会显示'Shell change”。其界面一般如下:
Changing fihanging shell for cao Password
New shell [/bin/bash] /bin/tcsh
上面代码中 [ ]内是目前使用的 Shell。
普通用户只能修改自己的 Shell
超级用户可以修改全体用户的Shell
要想查询系统提供哪些 Shell 可以使用 chsh -l 命令
例如系统中可以使用的 Shell 有 bash(缺省)、csh、sh、tcsh 四种。
last
last 命令的作用是显示近期用户或终端的登录情况 它的使用权限是所有用户。通过 last 命令查看该程序的 log 管理员可以获知谁曾经或企图连接系统。
last [-R] [-num] [ -n num ] [-adFiowx] [ -f file ] [ -t YYYYMMDDHHMMSS ] [name...] [tty...]
-n :指定输出记录的条数。
-f file:指定用文件 file 作为查询用的 log 文件。
-t tty:只显示指定的虚拟控制台上登录情况。
dd
dd - convert and copy a file
dd 命令用来复制文件,并根据参数将数据转换和格式化;
它可以用于创建镜像、备份和恢复数据、处理设备等
dd [options]
dd if=input_file of=output_file bs=block_size count=blocks
bs=字节:指定块大小(字节为单位),默认为 512 字节
cbs=字节:每次转换指定的<字节>
conv=关键字:执行特定的数据转换操作,如 conv=sync 用于填充输出文件的空洞。根据以逗号分隔的关键字方式来转换文件。
count=块数目:只复制指定<块数目>
ibs=字节:每次读取指定的<字节>
if=文件:输入文件的路径或设备名
obs=字节:每次写入指定的<字节>
of=文件:输出文件的路径或设备名
seek=块数目:先略过以 obs 为单位的指定<块数目>后再开始写入数据。
skip=块数目:先略过以 ibs 为单位的指定<块数目>后再开始读取数据。
diff
diff 命令用于两个文件之间的比较 并指出两者的不同 它的使用权限是所有用户
diff [options] 源文件 目标文件
-a :将所有文件当作文本文件来处理。
-b :忽略空格造成的不同。
-B :忽略空行造成的不同。
-c :使用纲要输出格式。
-H :利用试探法加速对大文件的搜索。
-I :忽略大小写的变化。
-n --rcs :输出 RCS 格式。
cmp
cmp('compare”的缩写)命令用来简要指出两个文件是否存在差异 它的使用权限是所有用户
cmp [options] 文件名
-l 将字节以十进制的方式输出 并方便将两个文件中不同的以八进制的方式输出
quota
quota 命令用来显示磁盘使用情况和限制情况 使用权限超级用户。
quota [-g][-u][-v][-p] 用户名 组名
-g :显示用户所在组的磁盘使用限制。
-u :显示用户的磁盘使用限制。
-v :显示没有分配空间的文件系统的分配情况。
-p :显示简化信息。
at
at 命令用于在指定时间执行一次性任务的 Linux 命令
at [-V] [-q queue] [-f file] [-mMkv] [-t time]
-V :显示 at 命令的版本信息。
-q :指定任务队列的名称。默认情况下,at 命令使用 a 队列。可以通过配置文件 /etc/atd.conf 中的 QUEUE 参数来定义其他队列
-f :从文件中读取作业。
-m :执行完作业后发送电子邮件到用户。
time :设定作业执行的时间。time 格式有严格的要求 由小时、分钟、日期和时间的偏移量组成;其中日期的格式为MM.DD.YY MM 是分钟 DD 是日期 YY 是指年份。
偏移量的格式为时间+偏移量 单位是 minutes、hours 和 days。
at -f data 15:30 + 2 days
上面命令让系统在两天后的 17:30 执行文件 data 中指明的作业。
在使用 at 命令之前,请确保已经启动了 atd
lp
lp 用于打印文件的命令行工具,它可以将指定的文件发送到打印机进行打印;
使用权限是所有用户
lp [ -c ][ -d ][ -m ][ -number ][ -title ][ -p ]
-c :先拷贝文件再打印。
-d printer:指定要使用的打印机名称。
-m :打印结束后发送电子邮件到用户。
-number :打印份数。
-title :打印标题。
-p :设定打印的优先级别 最高为 100。
-o option:指定打印机选项,如双面打印或打印纸张大小。
-q priority:指定打印作业的优先级。
打印一个文件并将其发送到默认打印机:
lp filename
打印多个文件:
lp file1 file2 file3
打印多个文件并指定打印机、副本数和双面打印选项:
lp -d printer -n 3 -o sides=two-sided-long-edge file1 file2 file3
查看当前打印队列:
lpq
取消打印队列中的一个作业:
lprm job-number