Linux基本操作命令(未完待续)
基本命令
- Echo【字符串】命令 输出字符串
- Date获取时间 %t跳格 %H 小时 %M %s %J ,date “%Y-%m-%d %H:%M:%S”,将系统时间设置为 date -s “2019-12-12 12:12:12”
- Reboot poweroff
- Wget 下载网络文件,递归下载网页:wget -r -p http://www.linuxprobe.com
- Ps命令显示系统进程,-a显示所有进程,-u用户以及其他项信息 -x显示没有控制终端的进程.
- Top 动态监控进程活动与负载信息。强化版的进程管理器。
- Pidof 查看进程号码,例如 pidof sshd
- Kill命令 kill pid
- Kill all 杀死全部进程 killall httpd 执行命令在后台执行 &
- ip addr --获取网卡配置与网络状态信息
- uname -a 当前系统详细信息,内核名称/节点名/系统时间等
- Uptime 查看系统负载信息,指的是最近1分钟、5分钟、15分钟内的压力情况
- Free 显示当前系统内存使用量信息,格式为free [-h]
- Who 查看当前登录主机的用户终端信息
- Last 查看所有系统的登录记录 last[参数]
- History,命令 用于显示历史执行过的命令 history [-c],历史记录会保存在.bash_history文件中。Linux中以点为开头的文件均代表隐藏文件,这些文件大多是系统文件。可以用cat命令查看。Cat ~/.bash_history.
- Sosreport 收集系统配置和架构信息。
- Pwd显示现在的工作目录
- Cd [目录名称] 切换目录,cd -返回上一次的目录,cd ~ 切换到家目录
- Ls 显示目录的文件信息 -a -l -al
- Cat 查看内容比较小的文本文件,显示行号 cat -n
- More命令用于查看纯文本文件(内容较多),格式为more [选项] 文件。More -sas.cfg
- Head命令 查看纯文本文档的前N行,格式为head [选项][文件],查看前20行,head -n 20 initial-setup-ks.cfg
- Tail 查看纯文本文档的后N行,tail[选项][文件] 查看最后20行: tail -n 20,持续刷新查看最新的日志文件:tail -f /var/log/message
- tr 命令 用于替换文本文件中的字符: tr [原始字符] 【目标字符】,先通过cat读取带处理的文本,然后他通过管道把文本内容传递给tr命令进行替换。例如英文替换为大写 Cat anaconda-ks.cfg | tr [a-z] [A-Z]
- wc命令统计文本的行数、字数、字节数,wc [参数] 文本,-l只显示行数 -w只显示单词数 -c只显示字节数
- stat查看文件具体存储信息和时间等信息,state java 查看文件夹信息
- cut命令用“列”提取出文本字符,格式为“cut[参数] 文本”,用-f参数设置需要看的列数,使用-d参数设置间隔符号,passwd在保存用户信息时i,用户信息每一项都采用冒号分割。Head -n 2 /etc/passwd, cut -d: -f1 /etc/passwd
- diff命令,比较多个文本文件的差异,diff –brief diff_A.txt diff_B.txt,使用带-c参数的diff命令描述文件内容具体不同
文本目录管理命令
- touch 穿件空白文件或者设置文件的时间。设置文件内容修改时间,文件权限或属性的更改时间,文件的读取时间。-a修改读取时间(atime) -m修改,修改时间(mtime) -a同时修改atime 与mtime
- mkdir 新建目录,创建多层目录,mkdir -p /etd/pa/pa 迭代嵌套
- cp命令 复制文件或者目录 cp[选项] 源文件 目标文件。
- mv命令 剪切文件或者文件重命名
- rm 删除命令 ,rm -f 强制删除(无需确认),删除一个目录 rm -r
- dd指定大小和个数的数据块复制文件或转换文件,格式dd[参数] ,从/dev/zreo 设备文件中取出560MB数据块,保存为560_file, dd if=/dev/zero of=560_file count=1 bs=560M,
- dd命令把光驱设备中的光盘制作成iso格式的镜像文件,在windows需要第三方软件,在Linux用dd命令压缩成光盘镜像文件。Dd if=/dev/cdrom of=REHL-server-7.0-x86_64-LinuxProbe.Com.iso
- file命令用于查看文件类型,格式为file 文件名
打包压缩、搜索命令
- tar命令,用于打包和压缩,tar 【选项】【文件】,Linux主要有.tar或.tar.gz或.tar.bz2格式,我们不用担心,-c创建解压文件 -x解开压缩文件 -t查看压缩包有哪些文件 -z用Gzip压缩或解压 -j用bzip2压缩或解压。 压缩:Tar -czvf etc.tar.gz /etc (压缩文件名)(压缩目录),接下来解压缩:tar xzvf etc.tar.gz -C /root/etc
- grep命令用于在文本中执行关键词搜索,并显示匹配效果,格式为“grep [选项]【文件】”,-b将可执行文件(binary)当做文本文件(text)来搜索, -c仅显示找到的行数 -I忽略大小 -n显示行号 -v反向选择-仅列出没有关键词的一行。Grep /sbin/nologin /etc/passwd 查找不允许登录系统的用户信息
- find命令 用于指定条件来查找文件,格式为“find [查找路径] 寻找条件”,-name名称 -perm权限 -user所有者 -group所有组。模糊查询host名的文件或文件夹:Find /etc -name “host*” -print.。搜索系统中权限包括SUID权限的所有文件: find / -perm -4000 -print
- 使用Ctrl+C停止进行的操作,Ctrl+Z 表示暂停挂起操作。Fg可以重新返回上一个挂起的操作,fg %N 使第N个任务在前台运行。
管道符、重定向与环境变量
3.1 输入输出重定向
输入重定向是把文件导入到命令中,而输出重定向则指原来要输出到的屏幕数据信息写入到指定文件中。
标准输入重定向:(STDIN文件描述0):默认从键盘输入,也可以从其他文件或命令中输入。
标准输出重定向(STDOUT 文件描述1):默认输出到屏幕。
错误输出重定向(STDERR 文件描述2):默认输出到屏幕。
//输入重定向中用到大的符号及其作用
命令 < 文件 :将文件作为命令的标准输入。
命令 << 分界符 :从标准输入到读入,直到遇见分界符才停止。
命令 <文件1> 文件2 :将文件1作为命令的标准输入并将标准输出。
//输出重定向中用到的符号以及作用
命令 > 文件 将标准输出到重定向到一个文件中(清空原有文件数据)
命令2> 文件 将错误输出重定向到一个文件中(清空原始文件数据)
命令 >>文件将标准输出重定向到一个文件中(追加到原有文件内容的后面)
命令 2>>文件 将错误输出重定向到一个文件中(追加到原有文件内容的后面)
命令 >>文件 2>&1 或者&>>文件 将标准输出与错误输出共同写入到文件中(追加到原始文件后面)
- 统计文本行数的命令 wc -l。统计被限制登录的行数:grep “/sbin/nologin” /etc/passwd | wc -l,把/etc文件列表存入到demo.txt文件中 ls -l /etc/ | cat >> demo
- 命令行通配符:(*)代表匹配零个或多个字符,(?)代表匹配单个字符,【中括号】内加上数字【0-9】代表匹配0-9之间的单个数字的字符,而【abc】代表匹配a/b/c三个字符中的任意一个字符。例如: ls -l /dev/sda? Ls -l /dev/sda[0-9]
- 转义字符:
反斜杠(\):使反斜杠后面的变量变为一个单纯的字符串。
单引号(‘’):转义其中所有变量为单纯的字符串。
双引号(“”):保留其中的变量属性,不进行转义处理。
反引号(``):把其中的命令执行后返回结果。 - 环境变量
- Vim编辑器: 命令模式、输入模式、末行模式,常用命令如下:
dd删除(剪切)光标所在的行
5dd 删除(剪切)光标处开始的5行
yy复制光标所在的整行 5yy
n 显示搜索命令定位到的下一个字符串
N显示搜索命令定位到的上一个字符串
u撤销上一步操作
p将之前删除(dd)或复制(yy)过的数据粘贴到光标后面
末行模式主要用于保存或者推出文件,以及设置Vim编辑器的工作环境。
:w 报存 :q退出 :q! 强制退出(放弃对文档的修改内容):wq! 强制保存退出。 :set nu 显示行号 :set nonu 不显示行号
:命令 执行命令 :整数 跳转到该行
- 配置主机名称 。root权限打开vi /etc/hostname,添加hostname名为LinuxProbe。
- 配置网卡信息:切换到/etc/sysconfig/network-scripts 目录中,vim编辑修改网卡文件。重启网卡 systemctl restart network
- 配置yum仓库:硕大的软件仓库,地址 /etc/yum.repos.d/ 该目录存放着Yum软件仓库的配置文件。
编写shell脚本
- Shell脚本命令的工作方式有两种:交互式和批处理。交互式(Interactive):用户每输入一条命令就立即执行。批处理(Batch):由用户事先编好的完整的shell脚本,Shell会一次性执行脚本中诸多命令。在example.sh中 ls -l 执行 bash example.sh
- 判断用户参数。测试语句:【条件表达式】,文件测试语句、逻辑测试语句、整数值比较语句,字符串比较语句。[ -d /root/Java ] && echo “Exist”如果为true返回exist,false不返回。
-d 测试文件是否为目录文件,directory
-e 测试文件是否存在, exist
-f判断是否为一般文件, file
-r测试当前用户是否有权限读取,read
-w测试当前用户是否有权限写入,write
-x测试当前用户是否有前线执行。Execute/implement - 102页
- If测试语句。让脚本根据实际情况自动执行响应命令,shell命令生成文件夹。
if then else fi
DIR=“/media/cdrom”
if [ ! -e $DIR]
then
mkdir -p $DIRif
Shell脚本用到的整数比较运算符。
-ne(not equal)不等于
-gt(grater than)大于
-lt(less than)小于
-le(less than or equal)小于等于
-ge(greater than or equal)大于等于
【 10 -ne 6 】 回车 echo $?输出为0表示正确,1表示错误
- Free -m 查看内存使用情况。
Free -m | grep Mem: 关键词Mem搜索
Shell: FreeMem=`free -m | grep Mem: |awk ‘{print $4}’` 回车echo $FreeMem - 比较运算符 =(等于) != (不等于)-z(判断字符串内容是否为空)
- SHELL命令暂停
用户身份和文件权限
Linux系统中,UID就相当于我们的身份证号码一样具有唯一性,因此可以通过用户的UID;来判断用户身份。
管理员用户UID为0,:系统的管理员用户
系统用户UID为1-999:Linux系统避免黑客提权限到整个服务器,默认服务会有独立的系统用户负责运行,进而有效控制被破坏的范围。
普通用户:UID从1000开始:由管理员创建的用于日常工作的用户。
UID不能冲突,管理员创建的普通用户的UID从1000开始。在系统中没创建一个用户,将自动传建一个同名的基本用户组,而且基本用户组只有该用户一个人。如果用户被归纳入其他用户组,则这个其他用户组称之为拓展用户组。一个用户只有一个基本用户组,但是可以有多个拓展用户组,从而满足工作需求。
- useradd 创建新用户,useradd [选项] 用户名,默认用户目录存放在/home目录
-d指定用户的家目录(默认/home/username)
-e账户到期时间,格式为YYYY-MM-DD
-u指定该用户默认UID
-g制定一个初始的用户基本组(必须存在)
-G制定一个或多个拓展用户组
-N不创建与用户同名的基本用户组
-s指定该用户的默认Shell解释器。
useradd -d /home/linux -u 8888 -s /sbin/nologin linuxprobe - groupadd 创建用户组,groupadd [选项] 群组名
- usermode 修改用户属性,usermod [选项] 用户名 。用户信息保存在/etc/passwd 文件中,用文本编辑器修改参数项目,也可以用usermode命令修改已经创建的用户,诸如UID、基本拓展用户组、默认终端。Username 命令参数以及作用。
-c 填写用户账户备注信息
-d -m 连用,可以重新制定用户的家目录并且自动把旧的数据转移过去
-e 账户到期时间 格式为YYYY-MM-DD
-g变更所属用户组
-G变更拓展用户组
-L 锁定用户禁止其登录系统
-U解锁用户,允许其登录系统
-s变更默认终端
-u修改用户的UID
usermod -G root linuxprobe
usermod -u 8888 linuxprobe
id linuxprobe - passwd 命令修改密码、过期时间、认证信息,格式为passwd[选项]【用户名】,root管理员有权限修改其他所有人密码,更酷的是,root修改别人密码,不用验证。
-l 锁定用户,禁止登录
-u 解除锁定,允许用户登录
--stdin 允许通过标准输入修改用户名密码,如 echo “NewPassWorld”| passwd –stdin username
-d 使该用户可用空密码登录系统
-e 强制用户在下次登录时修改密码
-s显示用户密码是否被锁定,以及密码所采用的加密算法名称
pssswd 输入两次密码就可以。Root用户修改别的用户密码 passwd linuxprobe - userdel 删除用户 userdel[选项] 用户名 -f强制删除用户 -r 同时删除用户以及用户家目录。
文件权限与归属
Linux系统中一切都是文件,但是每个文件类型不同,通常用不同字符加以区分。
-:普通文件
d:目录文件
l:链接文件
b:块设备文件
c:字符设备文件
p:管道文件
Linux规定文件所有者、所有组以及其他人对文件所拥有的可读r、可写w、可执行x等权限。文件可读、写、执行可以简写为rwx,也可以用数字4、2、1表示,文件的所有者,所属组以及其他用户权限之间无关联。
现在有一个文件,所有者拥有可读、可写、可执行的权限,其文件所属组拥有可读、可写权限;而且其他人只有可读权限,那么文件权限可以使 rwxrw-r--,数字表示法就是764
文件的特殊权限:
SUID:是一种对二进制程序进行设置的特殊权限,可以让二进制程序执行者用属主的权限,例如,所有用户都可以执行passwd命令修改密码,而用户密码保存在/etc/shadow文件中,这个文件的默认权限是000,也就是除了root管理员,所有用户都没法查看编辑文件,但是passwd命令如果加上SUID特殊限位,可以让普通用户有程序所有者的身份,把变更密码写入到shadow文件中。Ls -l /etc/shadow ls -l /bin/passwd
SGID:有两种功能,让执行者拥有组的权限(对拥有执行权限的二进制程序进行设置),还有就是在摸个目录创建的文件自动继承该目录的用户组(只可以对目录进行设置)。
Chmod命令,设置文件或目录权限,格式为 chmod [参数] 权限 文件或目录名称,如果要把一个文件权限设置成其所有者可读可写可执行、所属组可读可写、其他人没有任何权限的,则字符表示法为rwxrw----,数字表示法为760
chown:设置文件或目录的所有者和所属组,这个命令为chown,格式为chown[参数] 所有者:所属组 文件或我或目录名称
SBIT特殊权限位,只能删除自己文件,不能删除其他用户的文件。当目录设置为SBIT特殊权限位之后,文件的其他人权限部分的x执行权限就会被替换为t或T,原本x执行权限则会写成t,原本没有x执行权限会被写成T
文件的隐藏属性
Chatter命令:用于设置文件的隐藏权限,格式为chatter [参数]文件,如果想要把隐藏功能添加到文件上,则需要在命令后面追加“+参数”,如果想要把某个隐藏功能移出文件则需要追加“-参数”。Chatter命令可供选择的隐藏权限参数非常丰富。
I无法对文件进行修改,目录设置该参数,只能修改其中的子文件内容而不能新建或删除文件
a仅允许追加内容,无法覆盖或删除内容(Append Only)
S文件内容在变更后立即同步到硬盘
s彻底从硬盘中删除,不可恢复(0填充原文件硬盘区域)
A不再修改这个文件或目录的最后访问时间
b 不再修改文件或目录的存取时间
D检查压缩文件中的错误
d使用dump命令备份时,湖绿本文件/目录
c默认将文件或目录压缩
ut删除该文件后依然保留其在硬盘中的数据
t让文件系统支持尾部合并
X可以直接访问压缩文件中的内容。
chatter +a linuxprobe
Find命令
-depth 查找进入子目录前先查找当前目录文件
-mount查找文件时不跨越文件系统
-maxdepth LEVELS 查找文件最大的查找深度 find -maxdepth 2 -name demo.txt
-name 匹配文件名
-iname 忽略大小写匹配文件名
查找命令: d* 模糊查询
Find -name “d*”
find -name “???”三层
Find -name “[afd]*”带有afd的文件
Find -name “ch[0-2][0-9].txt”
Find -name ‘[a-z]’
Find -path ‘*server’ 匹配文件路径名 模糊查询路径
Find -regex ‘.ch[0-9]+’//正则表达式查询结果 ./ch01 ./ch02 ./ch03 ./ch04
Find -regex ‘.*ch[0-9]+\.txt’ //正则表达式查询结果 ./ch1.txt ./ch2.txt
Find . -type f 查找普通文件
find .-type l查找符号链接文件
Find /home -links +1 查找硬连接数大于1的文件和目录
Find /tmp -size -10M 查找tmp目录下,小于10MB的文件
Find /tmp -size +1G 查找tmp目录下,大于1G的文件
Find / -empty 查找在系统中为空的目录或文件
查找特定的文件名 find -name myfile
//Lsof(list open files) 功能和命令格式
- lsof[options] [names]用来查看正在运行的进程打开了那些文件、目录、套接字。
- -h显示帮助
-a表示所列出的选项是与逻辑,都必须满足时才显示结果
-R显示进程的PPID列
-l不将UID转化为用户登录名
-n不将IP转化为主机名
-P不讲服务端口号转化为服务名称
-u Username/UID显示由属于指定用户的进程打开的文件
-g gid 先是属于指定组的进程打开的文件
-d FD显示指定文件描述符的进程
-c string 先是命令中包含指定字符串string的进程打开的文件
vim 命令
- 打开文件 vi file
- 删除一行代码 dd
- 赋值一行代码 yy
- set nu 显示行号
- set nonu 隐藏行号
- /ok 搜索ok这个字符串,使用n可以显示搜索的下一行,循环搜索显示
- ?ok 进行倒叙搜索,使用n显示下一个
Linux基本操作命令(未完待续)相关推荐
- mega raid linux,在lsi megaraid sas 8204elp 装linux系统(未完待续)
在lsi megaraid sas 8204elp 装linux系统(未完待续) (2009-05-06 13:24:00) 标签: 杂谈 在目前最新的linux内核中,没有8204elp的raid驱 ...
- Linux软件管理(未完待续)
版权声明:本文章参考<Linux man pages>做了修改,增添了一部分内容.未经作者允许,严禁用于商业出版,否则追究法律责任.网络转载请注明出处,这是对原创者的起码的尊重!!! ...
- Linux学习总结 (未完待续...)
Linux学习总结: 1.用户管理部分 a,用户与组配置文件 a1.与用户和组相关的配置文件:passwd,shadow group,gshadow a2.超级权限控制Sudo的配置文件:/etc/s ...
- Linux学习(未完待续。。。)
安装好ubuntu 并且注册用户成功后,给root设置密码 sudo passwd root 先输入自己的密码,然后输入root的密码,再确认 密码都是不可见的,不是键盘坏了 显示日期格式 date ...
- Linux命令,未完待续。。。
command names 1. rpm 2. 电脑配置信息(query computer info(cat/ uname/ df/)) 3. history && ! 4.apt-g ...
- linux引数列项目过长,Linux 命令个人总结====== 未完待续 个人认为比较重要
Linux 命令个人总结====== 未完待续 man [功能说明]: 查看帮助 [语法格式]: man [123456789]命令.文件. [选项参数]: 数字"1"表示用户命令 ...
- linux系统装fluent没有界面,Linux上安装ANSYS后的一些坑(未完待续)
以ANSYS2020R2为例 问题一 fluent串行启动 (真串行,不是在启动界面选择的串行)是正常的,但是并行会挂,问题截图如下: 解决方案: 这个是Intel的问题,因为Fluent默认Inte ...
- 构建Linux根文件系统(未完待续)
所谓制作根文件系统, 就是创建各种目录, 并且在里面创建各种文件. 比如在/bin ./sbin 目录下存放各种可执行程序, 在/etc 目录下存放配置文件, 在/lib 目录下存放库文件 ...
- Linux下简单创建ThinkPHP 6.0的网站 - 简单前后端 (未完待续)
步骤 ssh user@ip-of-linux cd /var/www/ mkdir xiazai.rudon.cn cd xiazai.rudon.cn/ composer create-proje ...
- 用python做归结演绎推理_Python中惯用的一些操作总结(未完待续)
Python中常用的一些操作总结(未完待续) 写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的bl ...
最新文章
- 刘知远:近年来开源的算法代码、工具包列表
- Junit内部解密之四: Junit单元测试最佳实践
- 【模型开发】逐步回归
- 智能电源分配PDU应用
- 没有在工厂1112中维护 MRP 参数
- 想不明白的时候可以干的十件事情
- k8s资源清单:常用字段说明及pod增删查示例
- 爱创课堂每日一题第四十天- 说说你对语义化的理解?
- Java8-Stream-终止操作-查找与匹配
- java gc 次数_浅谈如何减少GC的次数
- es6 Class 表达式
- 记录——《C Primer Plus (第五版)》第七章编程练习第九题
- 苹果手机上网速度慢_手机信号明明满格却上不去网?4招帮你搞定它!
- CV中必要的数学知识_奇异值的物理意义是什么?
- js中html5修改字体大小,jquery设置字体大小插件
- 联系人管理系统 python版
- ZeroNet搭建个人网站,一些搞笑图片
- 迷你MVVM框架 avalonjs 入门教程
- 2023程序员今年的一些现状
- 不想做却不得不做某份工作,怎么破?
热门文章
- 何恺明一作MAE收录CVPR 2022 Oral!高达87.8%准确率!自监督领域新代表作
- stunnel客户端的使用
- 无刷直流电机的性能与在采样泵上的运用
- 再谈编程-----终结QQ空间写技术文章
- RTX3090 windows cuda11.0 cudnn pytorch nightly试用版
- The contents in the strings file of the famous IM app.
- 【转】推荐系统原理、工程、大厂(Youtube、BAT、TMB)架构干货分享
- Linux 操作系统课程练习题(五)综合练习
- kubernetes 详解(下)
- pip(3) 下载安装包