基本命令

  1. Echo【字符串】命令 输出字符串
  2. Date获取时间 %t跳格 %H 小时 %M %s %J ,date “%Y-%m-%d %H:%M:%S”,将系统时间设置为 date -s “2019-12-12 12:12:12”
  3. Reboot poweroff
  4. Wget 下载网络文件,递归下载网页:wget -r -p http://www.linuxprobe.com
  5. Ps命令显示系统进程,-a显示所有进程,-u用户以及其他项信息 -x显示没有控制终端的进程.
  6. Top 动态监控进程活动与负载信息。强化版的进程管理器。
  7. Pidof 查看进程号码,例如  pidof sshd
  8. Kill命令 kill pid
  9. Kill all 杀死全部进程   killall httpd   执行命令在后台执行 &
  10. ip addr  --获取网卡配置与网络状态信息
  11. uname -a  当前系统详细信息,内核名称/节点名/系统时间等
  12. Uptime 查看系统负载信息,指的是最近1分钟、5分钟、15分钟内的压力情况
  13. Free  显示当前系统内存使用量信息,格式为free [-h]
  14. Who 查看当前登录主机的用户终端信息
  15. Last 查看所有系统的登录记录 last[参数]
  16. History,命令 用于显示历史执行过的命令  history [-c],历史记录会保存在.bash_history文件中。Linux中以点为开头的文件均代表隐藏文件,这些文件大多是系统文件。可以用cat命令查看。Cat ~/.bash_history.
  17. Sosreport 收集系统配置和架构信息。
  18. Pwd显示现在的工作目录
  19. Cd [目录名称] 切换目录,cd -返回上一次的目录,cd ~ 切换到家目录
  20. Ls  显示目录的文件信息 -a -l -al
  21. Cat 查看内容比较小的文本文件,显示行号 cat -n
  22. More命令用于查看纯文本文件(内容较多),格式为more [选项] 文件。More -sas.cfg
  23. Head命令 查看纯文本文档的前N行,格式为head [选项][文件],查看前20行,head -n 20 initial-setup-ks.cfg
  24. Tail 查看纯文本文档的后N行,tail[选项][文件] 查看最后20行: tail -n 20,持续刷新查看最新的日志文件:tail -f /var/log/message
  25. tr 命令 用于替换文本文件中的字符: tr [原始字符] 【目标字符】,先通过cat读取带处理的文本,然后他通过管道把文本内容传递给tr命令进行替换。例如英文替换为大写 Cat anaconda-ks.cfg | tr [a-z] [A-Z]
  26. wc命令统计文本的行数、字数、字节数,wc [参数] 文本,-l只显示行数 -w只显示单词数 -c只显示字节数
  27. stat查看文件具体存储信息和时间等信息,state java 查看文件夹信息
  28. cut命令用“列”提取出文本字符,格式为“cut[参数] 文本”,用-f参数设置需要看的列数,使用-d参数设置间隔符号,passwd在保存用户信息时i,用户信息每一项都采用冒号分割。Head -n 2 /etc/passwd,  cut -d: -f1 /etc/passwd
  29. diff命令,比较多个文本文件的差异,diff –brief diff_A.txt diff_B.txt,使用带-c参数的diff命令描述文件内容具体不同

文本目录管理命令

  1. touch 穿件空白文件或者设置文件的时间。设置文件内容修改时间,文件权限或属性的更改时间,文件的读取时间。-a修改读取时间(atime) -m修改,修改时间(mtime) -a同时修改atime 与mtime
  2. mkdir 新建目录,创建多层目录,mkdir -p /etd/pa/pa 迭代嵌套
  3. cp命令 复制文件或者目录 cp[选项] 源文件  目标文件。
  4. mv命令 剪切文件或者文件重命名
  5. rm 删除命令 ,rm -f 强制删除(无需确认),删除一个目录 rm -r
  6. dd指定大小和个数的数据块复制文件或转换文件,格式dd[参数]  ,从/dev/zreo 设备文件中取出560MB数据块,保存为560_file,  dd if=/dev/zero   of=560_file count=1 bs=560M,
  7. dd命令把光驱设备中的光盘制作成iso格式的镜像文件,在windows需要第三方软件,在Linux用dd命令压缩成光盘镜像文件。Dd if=/dev/cdrom    of=REHL-server-7.0-x86_64-LinuxProbe.Com.iso
  8. file命令用于查看文件类型,格式为file 文件名

打包压缩、搜索命令

  1. 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
  2. grep命令用于在文本中执行关键词搜索,并显示匹配效果,格式为“grep [选项]【文件】”,-b将可执行文件(binary)当做文本文件(text)来搜索, -c仅显示找到的行数 -I忽略大小 -n显示行号 -v反向选择-仅列出没有关键词的一行。Grep /sbin/nologin /etc/passwd 查找不允许登录系统的用户信息
  3. find命令 用于指定条件来查找文件,格式为“find [查找路径] 寻找条件”,-name名称 -perm权限 -user所有者 -group所有组。模糊查询host名的文件或文件夹:Find /etc -name “host*” -print.。搜索系统中权限包括SUID权限的所有文件: find / -perm -4000 -print
  4. 使用Ctrl+C停止进行的操作,Ctrl+Z 表示暂停挂起操作。Fg可以重新返回上一个挂起的操作,fg %N 使第N个任务在前台运行。

管道符、重定向与环境变量

3.1 输入输出重定向

输入重定向是把文件导入到命令中,而输出重定向则指原来要输出到的屏幕数据信息写入到指定文件中。
标准输入重定向:(STDIN文件描述0):默认从键盘输入,也可以从其他文件或命令中输入。

标准输出重定向(STDOUT 文件描述1):默认输出到屏幕。

错误输出重定向(STDERR 文件描述2):默认输出到屏幕。

//输入重定向中用到大的符号及其作用

命令 < 文件 :将文件作为命令的标准输入。

命令 << 分界符 :从标准输入到读入,直到遇见分界符才停止。

命令 <文件1> 文件2 :将文件1作为命令的标准输入并将标准输出。

//输出重定向中用到的符号以及作用

命令 > 文件 将标准输出到重定向到一个文件中(清空原有文件数据)

命令2> 文件 将错误输出重定向到一个文件中(清空原始文件数据)

命令 >>文件将标准输出重定向到一个文件中(追加到原有文件内容的后面)

命令 2>>文件 将错误输出重定向到一个文件中(追加到原有文件内容的后面)

命令 >>文件 2>&1 或者&>>文件 将标准输出与错误输出共同写入到文件中(追加到原始文件后面)

  1. 统计文本行数的命令 wc -l。统计被限制登录的行数:grep “/sbin/nologin” /etc/passwd | wc -l,把/etc文件列表存入到demo.txt文件中 ls -l /etc/ | cat >> demo
  2. 命令行通配符:(*)代表匹配零个或多个字符,(?)代表匹配单个字符,【中括号】内加上数字【0-9】代表匹配0-9之间的单个数字的字符,而【abc】代表匹配a/b/c三个字符中的任意一个字符。例如: ls -l /dev/sda?  Ls -l /dev/sda[0-9]
  3. 转义字符:
    反斜杠(\):使反斜杠后面的变量变为一个单纯的字符串。
    单引号(‘’):转义其中所有变量为单纯的字符串。
    双引号(“”):保留其中的变量属性,不进行转义处理。
    反引号(``):把其中的命令执行后返回结果。
  4. 环境变量
  5. Vim编辑器: 命令模式、输入模式、末行模式,常用命令如下:
    dd删除(剪切)光标所在的行
    5dd 删除(剪切)光标处开始的5行
    yy复制光标所在的整行   5yy
    n 显示搜索命令定位到的下一个字符串
    N显示搜索命令定位到的上一个字符串
    u撤销上一步操作
    p将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

末行模式主要用于保存或者推出文件,以及设置Vim编辑器的工作环境。

:w 报存  :q退出 :q! 强制退出(放弃对文档的修改内容):wq! 强制保存退出。 :set nu 显示行号  :set nonu 不显示行号
:命令 执行命令 :整数 跳转到该行

  1. 配置主机名称 。root权限打开vi /etc/hostname,添加hostname名为LinuxProbe。
  2. 配置网卡信息:切换到/etc/sysconfig/network-scripts 目录中,vim编辑修改网卡文件。重启网卡 systemctl restart network
  3. 配置yum仓库:硕大的软件仓库,地址 /etc/yum.repos.d/ 该目录存放着Yum软件仓库的配置文件。

编写shell脚本

  1. Shell脚本命令的工作方式有两种:交互式和批处理。交互式(Interactive):用户每输入一条命令就立即执行。批处理(Batch):由用户事先编好的完整的shell脚本,Shell会一次性执行脚本中诸多命令。在example.sh中 ls -l  执行 bash example.sh
  2. 判断用户参数。测试语句:【条件表达式】,文件测试语句、逻辑测试语句、整数值比较语句,字符串比较语句。[ -d  /root/Java  ] && echo “Exist”如果为true返回exist,false不返回。
    -d 测试文件是否为目录文件,directory
    -e 测试文件是否存在, exist
    -f判断是否为一般文件, file
    -r测试当前用户是否有权限读取,read
    -w测试当前用户是否有权限写入,write
    -x测试当前用户是否有前线执行。Execute/implement
  3. 102页
  4. 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表示错误

  1. Free -m 查看内存使用情况。
    Free -m | grep Mem: 关键词Mem搜索
    Shell: FreeMem=`free -m | grep Mem: |awk ‘{print $4}’`   回车echo $FreeMem
  2. 比较运算符 =(等于) != (不等于)-z(判断字符串内容是否为空)
  3. SHELL命令暂停

用户身份和文件权限

Linux系统中,UID就相当于我们的身份证号码一样具有唯一性,因此可以通过用户的UID;来判断用户身份。

管理员用户UID为0,:系统的管理员用户

系统用户UID为1-999:Linux系统避免黑客提权限到整个服务器,默认服务会有独立的系统用户负责运行,进而有效控制被破坏的范围。

普通用户:UID从1000开始:由管理员创建的用于日常工作的用户。

UID不能冲突,管理员创建的普通用户的UID从1000开始。在系统中没创建一个用户,将自动传建一个同名的基本用户组,而且基本用户组只有该用户一个人。如果用户被归纳入其他用户组,则这个其他用户组称之为拓展用户组。一个用户只有一个基本用户组,但是可以有多个拓展用户组,从而满足工作需求。

  1. 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
  2. groupadd 创建用户组,groupadd [选项] 群组名
  3. 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
  4. passwd 命令修改密码、过期时间、认证信息,格式为passwd[选项]【用户名】,root管理员有权限修改其他所有人密码,更酷的是,root修改别人密码,不用验证。
    -l 锁定用户,禁止登录
    -u 解除锁定,允许用户登录
    --stdin 允许通过标准输入修改用户名密码,如 echo “NewPassWorld”| passwd –stdin username
    -d 使该用户可用空密码登录系统
    -e 强制用户在下次登录时修改密码
    -s显示用户密码是否被锁定,以及密码所采用的加密算法名称
    pssswd 输入两次密码就可以。Root用户修改别的用户密码 passwd linuxprobe
  5. 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) 功能和命令格式

  1. lsof[options] [names]用来查看正在运行的进程打开了那些文件、目录、套接字。
  2. -h显示帮助
    -a表示所列出的选项是与逻辑,都必须满足时才显示结果
    -R显示进程的PPID列
    -l不将UID转化为用户登录名
    -n不将IP转化为主机名
    -P不讲服务端口号转化为服务名称
    -u Username/UID显示由属于指定用户的进程打开的文件
    -g gid 先是属于指定组的进程打开的文件
    -d FD显示指定文件描述符的进程
    -c string 先是命令中包含指定字符串string的进程打开的文件

vim 命令

  1. 打开文件 vi file
  2. 删除一行代码 dd
  3. 赋值一行代码 yy
  4. set nu 显示行号
  5. set nonu 隐藏行号
  6. /ok 搜索ok这个字符串,使用n可以显示搜索的下一行,循环搜索显示
  7. ?ok 进行倒叙搜索,使用n显示下一个

Linux基本操作命令(未完待续)相关推荐

  1. mega raid linux,在lsi megaraid sas 8204elp 装linux系统(未完待续)

    在lsi megaraid sas 8204elp 装linux系统(未完待续) (2009-05-06 13:24:00) 标签: 杂谈 在目前最新的linux内核中,没有8204elp的raid驱 ...

  2. Linux软件管理(未完待续)

      版权声明:本文章参考<Linux man pages>做了修改,增添了一部分内容.未经作者允许,严禁用于商业出版,否则追究法律责任.网络转载请注明出处,这是对原创者的起码的尊重!!! ...

  3. Linux学习总结 (未完待续...)

    Linux学习总结: 1.用户管理部分 a,用户与组配置文件 a1.与用户和组相关的配置文件:passwd,shadow group,gshadow a2.超级权限控制Sudo的配置文件:/etc/s ...

  4. Linux学习(未完待续。。。)

    安装好ubuntu 并且注册用户成功后,给root设置密码 sudo passwd root 先输入自己的密码,然后输入root的密码,再确认 密码都是不可见的,不是键盘坏了 显示日期格式 date ...

  5. Linux命令,未完待续。。。

    command names 1. rpm 2. 电脑配置信息(query computer info(cat/ uname/ df/)) 3. history && ! 4.apt-g ...

  6. linux引数列项目过长,Linux 命令个人总结====== 未完待续 个人认为比较重要

    Linux 命令个人总结====== 未完待续 man [功能说明]: 查看帮助 [语法格式]: man [123456789]命令.文件. [选项参数]: 数字"1"表示用户命令 ...

  7. linux系统装fluent没有界面,Linux上安装ANSYS后的一些坑(未完待续)

    以ANSYS2020R2为例 问题一 fluent串行启动 (真串行,不是在启动界面选择的串行)是正常的,但是并行会挂,问题截图如下: 解决方案: 这个是Intel的问题,因为Fluent默认Inte ...

  8. 构建Linux根文件系统(未完待续)

          所谓制作根文件系统, 就是创建各种目录, 并且在里面创建各种文件. 比如在/bin ./sbin 目录下存放各种可执行程序, 在/etc 目录下存放配置文件, 在/lib 目录下存放库文件 ...

  9. Linux下简单创建ThinkPHP 6.0的网站 - 简单前后端 (未完待续)

    步骤 ssh user@ip-of-linux cd /var/www/ mkdir xiazai.rudon.cn cd xiazai.rudon.cn/ composer create-proje ...

  10. 用python做归结演绎推理_Python中惯用的一些操作总结(未完待续)

    Python中常用的一些操作总结(未完待续) 写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的bl ...

最新文章

  1. 刘知远:近年来开源的算法代码、工具包列表
  2. Junit内部解密之四: Junit单元测试最佳实践
  3. 【模型开发】逐步回归
  4. 智能电源分配PDU应用
  5. 没有在工厂1112中维护 MRP 参数
  6. 想不明白的时候可以干的十件事情
  7. k8s资源清单:常用字段说明及pod增删查示例
  8. 爱创课堂每日一题第四十天- 说说你对语义化的理解?
  9. Java8-Stream-终止操作-查找与匹配
  10. java gc 次数_浅谈如何减少GC的次数
  11. es6 Class 表达式
  12. 记录——《C Primer Plus (第五版)》第七章编程练习第九题
  13. 苹果手机上网速度慢_手机信号明明满格却上不去网?4招帮你搞定它!
  14. CV中必要的数学知识_奇异值的物理意义是什么?
  15. js中html5修改字体大小,jquery设置字体大小插件
  16. 联系人管理系统 python版
  17. ZeroNet搭建个人网站,一些搞笑图片
  18. 迷你MVVM框架 avalonjs 入门教程
  19. 2023程序员今年的一些现状
  20. 不想做却不得不做某份工作,怎么破?

热门文章

  1. 何恺明一作MAE收录CVPR 2022 Oral!高达87.8%准确率!自监督领域新代表作
  2. stunnel客户端的使用
  3. 无刷直流电机的性能与在采样泵上的运用
  4. 再谈编程-----终结QQ空间写技术文章
  5. RTX3090 windows cuda11.0 cudnn pytorch nightly试用版
  6. The contents in the strings file of the famous IM app.
  7. 【转】推荐系统原理、工程、大厂(Youtube、BAT、TMB)架构干货分享
  8. Linux 操作系统课程练习题(五)综合练习
  9. kubernetes 详解(下)
  10. pip(3) 下载安装包