linux用户执行命令
① linux命令大全
linux命令格式:
说明:command: 命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也可以省略,[]代表可选 parameter1 …:传给命令的参数:可以是零个一个或多个
一般是linux命令自带的帮助信息
如:
man是linux提供的一个手册,包含了绝大部分的命令、函数使用说明
该手册分成很多章节(section),使用man时可以指定不同的章节来浏览。
例:man ls ; man 2 printf
man中各个section意义如下:
man是按照手册的章节号的顺序进行搜索的。
man设置了如下的功能键:
在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令
当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来
ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。
Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。
ls常用参数:
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
如:ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )
注意: >输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部。
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。
管道:一个命令的输出可以通过管道做为另一个命令的输入。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。
clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母 )。
在使用Unix/Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感
cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。
使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。
通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。
可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败。
可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。
常用参数及含义如下表所示:
Linux链接文件类似于Windows下的快捷方式。
链接文件分为软链接和硬链接。
软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
硬链接:硬链接只能链接普通文件,不能链接目录。
使用格式:
如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。
注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式为:
在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep‘a ’1.txt。
常用选项说明:
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
常用用法:
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的命令。
常用选项说明:
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。
常用选项说明:
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式 tar [参数] 打包文件名 文件
tar命令很特殊,其参数前面可以使用“-”,也可以不使用。
常用参数:
tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip [选项] 被压缩文件
常用选项:
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件
whoami该命令用户查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。
由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理。这时候就可以使用whoami来查看当前用户的身份。
who命令用于查看当前所有登录系统的用户信息。
常用选项:
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号。
在Unix/Linux中添加用户账号可以使用adser或useradd命令,因为adser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。
useradd命令的使用格式如下:
useradd [参数] 新建用户账号
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。
可以通过su命令切换用户,su后面可以加“-”。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:
注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加“sudo”即可。sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性。
方法一:
方法二:
groupadd 新建组账号 groupdel 组账号 cat /etc/group 查看用户组
使用方法:usermod -g 用户组 用户名
新创建的用户,默认不能sudo,需要进行一下操作
-g用来制定这个用户默认的用户组
-G一般配合'-a'来完成向其它组添加
chmod 修改文件权限有两种使用格式:字母法与数字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
cal命令用于查看当前日历,-y显示整年日历
设置时间格式(需要管理员权限):
date [MMDDhhmm[[CC]YY][.ss]] +format
CC为年前两位yy为年的后两位,前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒。如: date 010203042016.55。
显示时间格式(date '+%y,%m,%d,%H,%M,%S'):
进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。
ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:
top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。可以在使用top命令时加上-d 来指定显示信息更新的时间间隔。
在top命令执行后,可以按下按键得到对显示的结果进行排序:
kill命令指定进程号的进程,需要配合 ps 使用。有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束.
使用格式:
kill [-signal] pid
df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。
命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,更侧重于磁盘的使用状况。
命令的使用格式如下: [选项] 目录或文件名
② 如何在 Linux 启动时自动执行命令或脚本
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。有用户想要在Linux启动时候自动执行命令脚本,应该怎么设置呢?这篇文章主要介绍了详解如何在 Linux 启动时自动执行命令或脚本,主要有两种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
方法步骤
在启动时执行 Linux 脚本
有两种传统的方法可以实现在启动时执行命令或脚本:
方法 #1 - 使用 cron 任务
除了常用格式(分 / 时 / 日 / 月 / 周)外,cron 调度器还支持 @reboot 指令。这个指令后面的参数是脚本(启动时要执行的那个脚本)的绝对路径。
然而,这种方法需要注意两点:
a) cron 守护进程必须处于运行状态(通常情况下都会运行),同时
b) 脚本或 crontab 文件必须包含需要的环境变量(如果有的话,参考 StackOverflow 获取更多详细内容)。
方法 #2 - 使用 /etc/rc.d/rc.local
这个方法对于 systemd-based 发行版 Linux 同样有效。不过,使用这个方法,需要授予 /etc/rc.d/rc.local 文件执行权限:
# chmod +x /etc/rc.d/rc.local
然后在这个文件底部添加脚本。
下图说明如何分别使用 cron 任务和 rc.local 运行两个示例脚本(/home/gacanepa/script1.sh 和 /home/gacanepa/script2.sh)。
script1.sh:
#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt
script2.sh:
#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
*启动时执行 Linux 脚本 *
记住,一定要提前给两个示例脚本授予执行权限:
$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh
在登录或注销时执行 Linux 脚本
要在登录或注销时执行脚本,分别需要使用 ~.bash_profile 和 ~.bash_logout 文件。多数情况下,后者需要手动创建。在每个文件的底部,添加调用脚本代码,如前面例中所示,就可以实现这个功能。
补充:Linux基本命令
1.ls命令:
格式::ls [选项] [目录或文件]
功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
常用选项:
-a :列出目录下的所有文件,包括以 . 开头的隐含文件。
-d :将目录像文件一样显示,而不是显示其他文件。
-i :输出文件的i节点的索引信息。
-k :以k字节的形式表示文件的大小。
-l :列出文件的详细信息。
-n :用数字的UID,GID代替名称。
-F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目录名称]
常用选项:
cd .. 返回上一级目录。
cd ../.. 将当前目录向上移动两级。
cd - 返回最近访问目录。
3.pwd命令
格式: pwd
功能:显示出当前工作目录的绝对路径。
相关阅读:Linux主要特性
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
③ Linux命令
快照功能:记录当前的硬盘的状态。刚建快照时快照占用内存为0,标记了当前硬盘的存储状态。当虚拟机对快照标记的内容改写时,会将改写的内容存储进快照,与未改写的部分整合得到完整的快照。当快照标记的部分被完全改写,那么快照存储空间完整记录了当时拍摄时的内存状态。
参数形式
第一种:参数用一横的说明后面的参数是字符形式。
第二种:参数用两横的说明后面的参数是单词形式。
第三种:参数前有横的是 System V风格。
第四种:参数前没有横的是 BSD风格。
cat、more、less、head、tail命令的比较:
cat命令可以一次显示整个文件,如果文件比较大,使用不是很方便;
more命令可以让屏幕在显示满一屏幕时暂停,按空格往前翻页,按b往后翻页。
less命令也可以分页显示文件,和more命令的区别就在于: 支持上下键卷动屏幕、查找;不需要在一开始就读取整个文件,打开大文件时比more、vim更快。
head命令用于查看文件的前n行。
tail命令用于查看文件的后n行,加上-f命令,查看在线日志非常方便,可以打印最新增加的日志。
一般模式:
编辑模式:
命令模式:
编码
多行操作(列编辑模式)
插入:ctrl+v进入列编辑模式,上下移动光标选择需要插入的位置,然后输入大写I,输入需要文本,最后按esc键退出,就会发现文本会在选择的多行中插入。
删除:ctrl+v进入列编辑模式,上下移动光标选中需要删除的部分,然后按d,就会删除选中的内容。
①head:显示文件头部内容
②tail:输出文件尾部内容
注意:用vim和vi修改内容会删除源文件并生成新文件,所以tail -f会失效。需要用到
追加和覆盖语句(>或>>),才能被tail -f监视到。
一般用于查看小文件
查看压缩文件中的文本内容
例:
①more:文件内容分屏查看器
②less:分屏显示文件内容,效率比more高
1、简单读取
运行脚本如下
测试结果为:
2、-p 参数,允许在 read 命令行中直接指定一个提示。
运行脚本如下
测试结果为:
echo [选项] [输出内容] (输出内容到控制台)
输出给定文本的sha256加密后的内容
①显示当前时间信息
②显示当前时间年月日
③显示当前时间年月日时分秒
④显示昨天
⑤显示明天时间
⑥显示上个月时间
需要注意的是取下个月的命令存在bug,执行如下命令会得到21-10,但是正常应该得到21-09,需要注意
date -d "2021-08-31 +1 month" +%y-%m
⑦修改系统时间
⑧获取当前时间戳
获取秒时间戳: date +%s
获取毫秒时间戳:$[ (date +%s%N) /1000000]
查看日历
(1)查看当前月的日历
(2)查看2017年的日历
例:
对比gzip/gunzip,zip/unzip可以压缩文件和目录且保留源文件。
①zip:压缩
②unzip:解压缩
只能压缩文件不能压缩目录,不保留原来的文件。
gzip 文件 (只能将文件压缩为*.gz文件)
gunzip 文件.gz (解压缩文件命令)
例: crontab -e
(1)进入crontab编辑界面。会打开vim编辑你的工作。
(2)每隔1分钟,向/root/longma.txt文件中添加一个11的数字
*/1 * * * * /bin/echo ”11” >> /root/longma.txt
(3)可以用tail -f 目标文件来实施监控追加的内容
查看日志
可以用tail -f /var/log/cron.log观察
Cron表达式见文章: https://www.jianshu.com/writer#/notebooks/46619194/notes/75177408
ls [选项] [目录或是文件]
cd [参数]
例: cd -P $(dirname $p1) ; pwd 先跳转到文件的所在目录,再打印$p1文件的实际路径
概述
①cp():只能在本机中复制
②scp(secure ):可以复制文件给远程主机
scp -r test.sh hxr@hadoop102:/root
③rsync(remote sync):功能与scp相同,但是不会改文件属性
rsync -av test.sh test.sh hxr@hadoop102:/root
④nc(netcat):监听端口,可以实现机器之间传输文件。
nc -lk 7777 (-l表示listen,-k表示keep)
强制覆盖不提示的方法:cp
例:scp -r test.sh hxr@bigdata1:/root
例:rsync -av test.sh hxr@bigdata1:/root
例:
nc -lp 10000 > nc_test.txt
nc -w 1 hadoop102 < nc_test.txt
远程登录时默认使用的私钥为~/.ssh/id_rsa
生成密钥对
将公钥发送到本机
将密钥发送到需要登录到本机的服务器上
修改密钥的权限
远程登陆
如果有多个节点需要远程登陆,可以在.ssh下创建config并输入
再次登陆
①正向代理:
②反向代理:
所谓“反向代理”就是让远端启动端口,把远端端口数据转发到本地。
HostA 将自己可以访问的 HostB:PortB 暴露给外网服务器 HostC:PortC,在 HostA 上运行:
那么链接 HostC:PortC 就相当于链接 HostB:PortB。
使用时需修改 HostC 的 /etc/ssh/sshd_config 的一条配置如下,不然启动的进程监听的ip地址为127.0.0.1,即只有本机可以访问该端口。
相当于内网穿透,比如 HostA 和 HostB 是同一个内网下的两台可以互相访问的机器,HostC是外网跳板机,HostC不能访问 HostA,但是 HostA 可以访问 HostC。
那么通过在内网 HostA 上运行 ssh -R 告诉 HostC,创建 PortC 端口监听,把该端口所有数据转发给我(HostA),我会再转发给同一个内网下的 HostB:PortB。
同内网下的 HostA/HostB 也可以是同一台机器,换句话说就是 内网 HostA 把自己可以访问的端口暴露给了外网 HostC。
例: 比如在我的内网机192.168.32.244上有一个RabbitMQ的客户端,端口号为15672。现在我希望在外网上访问固定ip的云服务器chenjie.asia的6009端口,通过跳板机192.168.32.243来转发请求到192.168.32.244:15672,从而实现在外网访问内网服务的功能,即内网穿透。
①在192.168.32.244上启动RabbitMQ服务
②将chenjie.asia云服务器的私钥复制到跳板机192.168.32.243的~/.ssh下,并重命名为id_rsa。通过如下命令看是否可以远程登陆到云服务,可以登陆则进行下一步。
③修改chenjie.asia服务器的ssh配置文件 /etc/ssh/sshd_config ,允许其他节点访问
然后重启sshd服务
④在跳板机192.168.32.243启动ssh反向代理
这个进程在关闭session时会停止,可以添加启动参数 -CPfN
例:
以 root 身份执行的程序有了所有特权,这会带来安全风险。Kernel 从 2.2 版本开始,提供了 Capabilities 功能,它把特权划分成不同单元,可以只授权程序所需的权限,而非所有特权。
例如:linux不允许非root账号只用1024以下的端口,使用root启动命令nginx,会导致nginx权限过高太危险。所以用setcap命令
sudo setcap cap_net_bind_service=+eip /bigdata/nginx/sbin/nginx
正确的关机流程为 :sync > shutdown > reboot > halt
(1)sync (功能描述:将数据由内存同步到硬盘中)
(2)halt (功能描述:关闭系统,等同于shutdown -h now 和 poweroff)
(3)reboot (功能描述:就是重启,等同于 shutdown -r now)
(4)shutdown [选项] [时间]
安装
yum install -y telnet-server telnet
ls -i 显示文件的节点号
find -inum 节点号 -delete 删除指定的节点即可删除对应的文件
启动一个服务: systemctl start postfix.service
关闭一个服务: systemctl stop postfix.service
重启一个服务: systemctl restart postfix.service
显示一个服务的状态: systemctl status postfix.service
在开机时启用一个服务: systemctl enable postfix.service
在开机时禁用一个服务: systemctl disable postfix.service
注:在enable的时候会打印出来该启动文件的位置
列出所有已经安装的服务及状态:
systemctl list-units
systemctl list-unit-files
查看服务列表状态:
systemctl list-units --type=service
查看服务是否开机启动: systemctl is-enabled postfix.service
查看已启动的服务列表: systemctl list-unit-files | grep enabled
查看启动失败的服务列表: systemctl --failed
查看服务日志: journalctl -u postfix -n 10 -f
命令类似systemctl,用于操作native service。
添加脚本为服务(需要指定启动级别和优先级): chkconfig --add [脚本]
删除服务: chkconfig --del [脚本]
单独查看某一服务是否开机启动的命令 : chkconfig --list [服务名]
单独开启某一服务的命令 : chkconfig [服务名] on
单独关闭某一服务的命令: chkconfig [服务名] off
查看某一服务的状态: /etc/intd.d/[服务名] status
启用服务就是在当前"runlevel"的配置文件目录 /etc/systemd/system/multi-user.target.wants 里,建立 /usr/lib/systemd/system 里面对应服务配置文件的软链接;禁用服务就是删除此软链接,添加服务就是添加软连接。
su 用户名称 (切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (切换到用户并获得该用户的环境变量及执行权限)
echo $PATH 打印环境变量
设置普通用户具有root权限
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下 所示:
或者配置成采用sudo命令时,不需要输入密码
修改完毕,现在可以用hxr 帐号登录,然后用命令 sudo ,即可获得root权限进行操作。
以azkaban用户执行引号中的命令
gpasswd -d [username] [groupname] 将用户从组中删除
gpasswd -a [username] [groupname] 将用户加入到组中
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对 /etc/group文件的更新。
0首位表示类型 - 代表文件 d 代表目录 l 链接文档(link file)
三种特殊权限suid、sgid、sticky
例子:
变更文件权限方式一
例:chmod u-x,o+x houge.txt
变更文件权限方式二
例:chmod -R 777 /mnt/ 修改整个文件夹的文件权限
在linux中创建文件或者目录会有一个默认权限的,这个默认权限是由umask决定的(默认为0022)。umask设置的是权限的“补码”,而我们常用chmod设置的是文件权限码。一般在/etc/profile 、~/.bashprofile 或者 ~/.profile中设置umask值。
umask计算
如root用户的默认umask为0022(第一个0 代表特殊权限位,这里先不考虑),创建的文件默认权限是644(即默认666掩上umask的022),创建的目录是755(即默认777掩上umask的022)。
对于root用户的umask=022这个来说,777权限二进制码就是(111)(111)(111),022权限二进制码为(000)(010)(010)。
上面就是一个umask的正常计算过程,但是这样实在是太麻烦了。我们使用如下的简单的方法快速计算。
上面的这个方法计算是非常方便的, 为何得到奇数要+1呢?
文件的最大权限是666,都是偶数,你得到奇数,说明你的umask有奇数啊,读为4,写为2,都是偶数,说明你有执行权限的。
就按照上面的umask=023为例,在计算其他用户权限的时候6-3=3 ,6是读写,3是写和执行,其实应该是读写权限减去读权限的得到写权限的,相当于我们多减去了一个执行权限。所以结果加1。
umask修改
如果想单独修改某个文件夹的新建文件的权限,可以使用setfacl命令。
例:递归改变文件所有者和所有组 chown -R hxr:hxr /mnt
例:
④ Linux常见命令
权限管理命令 chmod
英文愿意: change the permissions mode of a file
语法: chmod[{ugoa}{+-=}{rwx}] [文件或目录]
[mide = 421] [文件或目录]
-R 递归修改
权限的数字表示
r -- 4
w -- 2
x -- 1
rwxrw-r-- (4+2+1 = 7)
7 6 4
例子:mkdir /temp 创建了一个目录
touch /temp/testfile 在该目录下创建了一个test file文件
chmod 777 /temp 改变了一下该目录的权限
名称: chgrp
英文原意:change file group ownership
语法:chgrp [用户][文件或目录]
功能: 改变文件或目录的所属租
例子: useradd hl // 添加所有者
groupadd brother // 添加所有组
charp brother text // brother变成了text文件的所属组
注意:
1、所属组就是创建这的所属者的缺省组
2、linux中创建的文件缺少x(可执行)为了使系统更加安全
mask
0022
0特殊权限
022 ugo --- -w- -w-
1、文件搜索命令find
执行权限:find
语法:find[搜索范围][匹配条件]
功能描述:文件搜索
例子:
find /etc -name init (-iname 不区分大小写)
find /home -user(-group) hl
在根目录下查找所有者(所有组)为hl的文件
在目录/etc中查找文件init
init init init // 通配符
?init (?匹配单个字符)
find / -size +204800
在跟目录下查找大于100MB的文件 (100MB = 102400KB = 204800)
+n 大于 -n小于 n等于
find /etc -cmin -5
例子2:
find /etc -size + 163840 -a size -204800
在/etc下查找大于80MB小于100MB的文件
-a两个条件同时满足
-o两个条件满足任意一个即可
在/etc下查找5分钟内被修改的属性的文件和目录
-amin 访问时间 access
-cmin 文件属性 change
-mmin 文件内容 modify
2、文件搜索指令 locate
命名名称:locate
执行权限:所有用户
语法:locate 文件名
功能描述:在文件资料库中查找文件
例子: $ locate inittab
输出文件所在位置
locate和find的区别:
locate的查找速度很快,因为find是在分区和磁盘上查找,而locate是在资料库中查找
注意:如果资料库没有实时更新,所以locate可能会查不到要查询的文件。
即:
updatedb (升级文件的资料库)
loocate -i 文件名 (-i 不区分大小写)
3、文件搜索命令:which (更精确呦)
执行权限:所有用户
功能描述:搜索命令所在目录及别名信息
例子: which ls
alias(别名)
4、whiereis
执行权限:所有用户
语法: whereis[命令名称]
功能描述:搜索命令所在目录及帮助文档路径
例子: whereis ls
5、grep
执行权限:所有用户
语法:grep -iv[指定字串][文件]
功能描述:在文件中搜索字符串匹配的行并输出
-i 不区分大小写
-v 排除指定字符串
例子 grep mysql /root/install.log
补充: linux中 # 表示注释
命名名称:man
英文原意:manual
执行权限:所有用户
语法:man[命令或配置文件]
功能描述:获取帮助信息
例子: man ls # 查看ls命令的帮助信息
man services 查看配置文件sevices的帮助信息
补充:man 。。。。后
/-g :查询与g有关的信息
空格进行翻页
回车进行换行
按n继续查找
命令名称:useradd
执行权限:root
语法:useradd 用户名
功能描述: 添加新用户
例子: useradd HF
命令名称:passwd
执行权限:所有用户
语法:passwd 用户名
功能描述: 设置用户密码
例子: passwd HF
命令名称:who
执行权限:所有用户
语法:who
功能描述: 查看登录用户信息
例子: who
输出内容含义:
登录用户名 登录终端(tty本地登录、pds表述远程终端) 登录时间 登录主机ip地址
命令名称:w
执行权限:所有用户
语法:w
功能描述: 查看登录用户详细信息
例子: w
命令名称:gzip
英文原意:GNU zip
执行权限:所有用户
语法:gzip[文件]
功能描述: 压缩文件
压缩后文件格式:.gz
解压缩:gunzip 压缩文件
注意:gizp只能压缩文件,不能压缩目录
命令名称:tar
执行权限:所有用户
语法:tar 选项 [-zcf] [压缩文件名] [目录]
-c 打包
-v 显示详细文件
-f 指定文件名
-z 打包同时压缩
功能描述: 打包目录
压缩后文件格式:.tar.gz
命令名称:zip
执行权限:所有用户
语法:zip 选项[-r][压缩后文件名][文件或目录]
-r 压缩目录
功能描述: 压缩文件或目录
压缩后文件格式: zip
注意:zip是window和linux系统中通过用的压缩格式
命令名称:bzip2
执行权限:所有用户
语法:bzip2 选项 [-k] [文件]
-k 产生压缩文件后保留有源文件
功能描述: 压缩文件
压缩后文件格式: .bz2
注意: bzip2的压缩比例大,适用于压缩较大的文件
bunzip2解压缩
对目录压缩:tar.bz2
指令名称:write
指令权限:所有用户
语法:write <用户名>
功能描述:给用户发消息 ,以ctrl + D保存
例子: write YX
命令名称:wall
英文原意:write all
执行权限:所有用户
语法:wall [message]
功能描述: 发广播信息
命令名称:ping
执行权限:所有用户
语法:ping 选项IP地址
-c 指定发送次数
功能描述: 测试网络连通性
例子: ping 192.168.1.156
命令名称:ifcongig
英文原意:interface configure
执行权限:root
语法:ifconfig 网卡名称 IP地址
功能描述:查看和设置网卡信息(设立之临时IP)
例子: ifconfig etho 192.168.1.156
etch0 本地真实网卡
lo 回环网卡 (用来本机通信个测试的)
cncap:。。网络名称是以太网
HWaddr: 16进制表示的 48位的 网卡的物理地址
addr:当前计算机IP地址
Bcast:当前网络地址
Mask:子网掩码
inet6 addr: 表示的是IPv6的地址信息
RX packets:接受数据包的总数量
TX packets:发送数据包的总数量
Base addtess: 网卡当中的物理位置
命令名称:mail (邮件命令)
执行权限:所有用户
语法:mail [用户名]
功能描述:查看发送电子邮件
发送:ctrl + D
查询: mail
例子: mail root
[图片上传中...(-d00bb9-1591253201012-0)]
命令名称:last
执行权限:所有用户
语法:last
功能描述:列出目前和过去登入系统的用户信息
命令名称:traceroute
执行权限:所有用户
语法:traceroute
功能描述:显示数据包到主机的路径
例子: traceroute www..con
命令名称:netstat
执行权限:所有用户
语法:netstat [选项]
功能描述:显示网络相关信息
选项:
-t : TCP协议
-u : UDP协议
-l : 监听
-r : 路由
-n : 显示IP地址和端口号
例子:
netstat -tlun 查看本机监听的端口
netstat -an 查看本机所有网络链接
netstat -rn 查看本届路由表
命令名称:setup
执行权限:root
语法:setup
功能描述:配置网络(永久生效)
例子: setup
注意:配置网络结束后要重启网络服务
service network restart
挂在命令
命令名称:mount
执行权限:所有用户
语法:mount[-t 文件系统] 设备文件
例子: mount -t iso9660/dev/sr0/mnt/cdrom
命令名称:shutdown
[root@localhost~]#shutdown [选项] 时间
选项:- c : 取消前一个关机命令
- h:关机
- r :重启
特点:可以正确的关闭和保存服务,建议实用
其他关机命令
halt
poweroff (直接断电)
init 0
重启命令
reboot
init6
补充:init _ 的数字含义
init0 关机
init1 单用户(启动最小最核心的服务)
init2 不完全多用户,不含NFS服务(network file system 网络文件系统)
init3 完全多用户
init4 未分配
init5 图形界面
init6 重启
查询系统运行级别
runlevel
退出登录命令
logout
⑤ Linux系统常用操作命令有哪些
ls 列出目录内容和文件信息 -a 用来显示所有的文件 -l 用来查看文件的各种属性 -r 逆字母母录显示 -R 递归显示每个子目录下的目录 -h 易读性 cat和more查看文本文件 cat 查看文件内容 -n 在每一行前显示行号 阅读文件的开头和结尾 head和tail head -n 20 显示文件的前20行 tail -n 20 显示文件后20行 less 更好的文本阅读工具 文件目录管理 mkdir:建立目录 -v显示创建目录的过程 -p用虚完整的创建字目录 rmdir:删处目录 rm:删处文件 -i 删除文件前提示 -r 递归的删除目录下所有的文件和子目录 -f 强形删处 -rf 不提示强形删除r目录 mv:移动和重命名目录 -i 提示移动时是否覆盖目录 cp : 复制文件和目录 - i 提示是否覆盖以存在的目录 -r 连同目录与文件一起复制 -p 保留权限属性 linux系统主要目录及其内容: /bin:构建最小系统所需要的命令 二进制命令 /boot:内核与启动文件 /dev:各设备文件 /etc:系统软件的启动和配置文件 /home:用户的主目录 /lib:C编译的库 /media: 可移动介质的安装点 /opt:可选的应用软件包 /proc:进程的映像 /root:超级用户root的主目录 /sbin:和系统操作有关的命令 /tmp:临时文件存放点 /usr:非系统的程序和命令 /var:系统专用的数据和配置文件值。 什么是相当路径和决定路径? 相对路径:一定是有/目录写起。 绝对路径:不是由/目录写起的。 linux严格区分大小写 . :当前目录 .. : 当前目录的上级目录 ~ : 当前的用户的家目录 locole -a 显示linux 支持的语言软件包 logout 退出命令 tty 显示当前登录的终端 startx & 切换用户 shift+ctrl+c 复制 shift+ctrl +v 粘贴 终端:终端分为虚拟终端,图像终端,为终端 快速切换用户:su 语法 su[option][arguments] history 查看当前操作的命令历史 -c 删除历史 !n 查看操作命令 !! 重复 上一条命令 !—n重复倒数的n条命令