Linux命令 Ubuntu命令 常用shell命令

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. whichPATH规定路径查找相应命令。显示绝对路径。
 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

targzip 命令结合使用实现文件 打包、压缩,
压缩后的扩展名为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命令选项和用法:

  1. rz -b:使用二进制模式传输文件。

  2. rz -e:使用8位数据位传输文件。

  3. rz -z:使用压缩模式传输文件。

  4. rz -v:显示详细的传输信息。

  5. rz -t:传输完后将文件的修改时间设置为源文件的修改时间。

  6. rz -P <path>:指定接收文件的路径。

  7. rz --help:显示rz命令的帮助信息。

  8. -a--append:将上传的文件追加到接收端已有的文件中。

  9. -E--escape:使用反斜线转义特殊字符(默认不开启)。

  10. -f--force:覆盖接收端已有的同名文件。

  11. -k--keep-date:保持接收文件的修改时间和访问时间与源文件一致。

  12. -n--name:将上传的文件名传递给接收端,以便在接收端自动重命名。

  13. -N--no-name:不使用重命名选项,接收端使用上传文件的名称。

  14. -o--overwrite:覆盖接收端已有的同名文件,而不提示确认消息。

  15. -q--quiet:静默模式,不显示任何传输信息。

  16. -s--stop:停止接收端的输出,等待上传文件。

  17. -S--strip-control:去除控制字符(默认不开启)。

这些选项可以根据需要进行组合使用,以满足不同的文件上传需求。

使用rz命令时,一般会在终端仿真器中输入rz命令后,选择要上传的文件,在上传过程中会显示传输进度和其他相关信息。请注意,在使用rz命令之前,确保远程主机上已经安装了rz支持的工具和程序(如lrzsz包)。


sz

以下是一些常见的 sz 命令选项的示例:

  1. sz filename:将本地文件 filename 发送到远程主机。
  2. sz -b filename:以二进制模式发送文件。
  3. sz -e filename:将控制字符转义为C风格的转义序列。
  4. sz -k filename:保持传输的文件权限与本地文件一致。
  5. sz -m filename:发送文件后,将本地文件移动到回收站。
  6. sz -n newname filename:将本地文件发送到远程主机,并在接收端重命名为 newname。
  7. sz -q filename:在静默模式下发送文件,不显示传输信息。
  8. sz -t filename:保持传输的文件修改时间与本地文件一致。
  9. sz -v filename:显示详细的传输信息。
  10. 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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值