| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux常用命令 -> 正文阅读 |
|
[系统运维]Linux常用命令 |
前言:这段时间都没有写博客,写文章。因为开学了事情很多,加上最近做做算法题,也没有找到特别的题目。作为一个合格的程序员,Linux感觉是一定要学习的!最近博主学习整理了一份Linux常用的基本命令,可以作为参考手册和复习使用!如果你是初学,建议自己敲一下命令,看看效果~ 目录 文件处理命令命令格式与目录处理命令命令格式:命令 【-选项】【参数】 例如:ls -la /etc 用中括号括起来表示可选,意思是如果我只输入ls也能够执行命令,不一定都要选项才能够执行
目录处理命令:ls命令名称:ls 英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:显示目录文件 语法:ls 选项【-ald】
什么参数没写,表示在当先目录下执行,最开始是根目录 输入-a,可以看到隐藏文件,用-a查看隐藏文件时,文件名前面有“.”的文件是隐藏文件,即以点开头的文件为隐藏文件 输入-l表示表示长格式,就是long,表示以长的格式显示 对于文件,用户有三种类型:所有者,所属组,其他人(user,group,others) 所有者是文件的创建人,但是它是可以转换或者被赋予的,所有者只能有一个;所属组也是只能有一个,只有指定的特定一组人才能作用为用户组成员;剩下的用户就是其他人; 第一个用户名是所有者,第二个用户名是所属组名称 所属组后面的数字是文件大小(字节),如果输入:ls -lh ,这里的h表示human,表示长格式人性化显示,表示单位不再是默认字节,而是自动进行单位换算,该多大显示就多大,比如MB就显示MB;同时注意到这里的-lh是把-l和-h合在一起,它们的先后关系无所谓。再后面是文件的最后一次修改时间。 -rw-r--r-- 这样的字串表示文件类型,后面那个数字是文件数目 最开始一个字符表示文件类型:“-”是二进制文件,d表示目录directory,l表示软链接link u g o 分别表示:所有者u(user),所属组g(group),其他人o(others) r读 w写 x执行,头一个字符表示文件类型,后面九个字符分别表示u g o 的r w x 权限状态,有就写上,没有就用“-”代替 参数 -d显示当下或者指定路径目录的信息,通常使用:ls -ld 来查看当下目录的信息 参数 -i 表示 id ,表示查看给定路径下的目录或文件的id 目录处理命令:mkdir命令名称:mkdir 命令英文原意:make directories 命令所在路径:/bin/mkdir 执行权限:所有用户 语法:mkdir -p 【目录名】 功能描述:创建新目录 -p表示递归创建 范例:$ mkdir -p /tmp/Japan/boduo $ mkdir /tmp/Japan/longze /tmp/Japan/cangjing 一个目录本身不存在,还要在它里面创建文件夹,这会报错,但是用 -p 就会递归的创建目录直到你最终要创建的目录被创建为止 目录处理命令:cd命令名称:cd 命令英文:change directory 命令所在路径:shell内置命令 执行权限:所有用户 语法:cd 【目录】 功能描述:切换目录 范例:$ cd /tem/Japan/boduo 切换到指定的目录 $ cd .. 回到上一级目录 目录处理命令:pwd命令名称:pwd 命令英文:print working directory 命令所在路径:/bin/pwd 执行权限:所有用户 语法:$ pwd 功能描述:显示当前目录 范例:$ pwd 假如当下目录是Japan,系统会输出 /tmp/Japan 这样的详细工作目录路径 注意 . 表示当前目录,.. 表示当前目录的上一级目录 目录处理命令:rmdir命令名称:rmdir 命令英文:remove empty directories 命令所在路径:/bin/rmdir 执行权限:所有用户 语法:rmdir 【目录名】 功能描述:删除空目录 范例:$ rmdir /tmp/Japan/boduo 注意这个命令功能只能删除一个空目录,所以实际用不多 目录处理命令:cp命令名称:cp 命令英文:copy 命令所在路径:/bin/cp 执行权限:所有用户 语法:cp -rp 【原文件或目录】【目标目录】 -r 复制目录 -p 保留文件属性 功能描述:复制文件或目录 范例: $ cp -r /tmp/Japan/cangjing /root 将目录/tmp/Japan/cangjing复制到目录/root下 $ cp -rp /tmp/Japan/boduo /tmp/Japan/longze /root 将/tmp/Japan目录下的boduo和longze目录复制到/root下,保持目录属性,时间仍然是原来的,而不是复制时候的时间 如果在复制到的目录后面再加上文件名称,就会在复制之后将复制后的文件改名为你要的名字,例如: $ cp /tmp/xxx.log /root/yyy.log 目录处理命令:mv命令名称:mv 英文原意:move 命令所在路径:/bin/mv 执行权限:所有用户 语法:mv【原文件或者目录】【目标目录】 功能描述:剪切文件、改名 范例: $ mv /tmp/Japan/cangjing /root 如果已经在Japan目录下可以:$ mv cangjing /root 也可以在剪切的同时改名:$ mv /tmp/Japan/longze /root/nvshen 在当前目录下要改名:$ mv cangjing canglaoshi 补充功能:ctrl+l或者clear命令,可以清空命令行; ctrl+c终止命令; 目录处理命令:rm命令名称:rm 命令英文愿意:remove 命令所在路径:/bin/rm 执行权限:所有用户 语法: rm -rf 【文件或目录】 -r 删除目录 -f 强制执行 force 功能描述:删除文件或者删除目录 在删除操作的时候一定要谨慎,linux无回收站的概念,所以删除就是删除了,恢复数据的代价非常大,通常不容易实现;在老版本的rm操作中没有 -f 操作的 rm 命令会询问你是否删除,输入 y 或 n ,但是新版本中移除询问,这意味着你需要更加小心谨慎了。 不要尝试:rm -rf /* 这会删除你系统根目录下的所有文件,嗯~ o( ̄▽ ̄)o,你细品~ rm -rf * 表示删除当前目录下所有文件 文件处理命令:touch命令名称:touch 命令路径:/bin/touch 执行权限:所有用户 语法:touch【文件名】 功能描述:创建空文件 范例:$ touch Japanlovestory.list 表示在当前目录下创建这样一个文件,指明特定路径下,就会在特定路径下创建文件;同时注意这个“.list”不是后缀名而是文件名的一部分,这不推荐使用。 注意在linux中touch一个文件时,文件名中最好不要使用空格如 $ touch aaa bbb 这会创建两个文件,分别是aaa 和 bbb 你可以这样:$ touch “aaa bbb” 但是这不推荐使用,因为每次使用都要打双引号,很麻烦,所以不建议使用含有空格的文件名 文件处理命令:cat命令名称:cat 命令所在路径:/bin/cat 执行权限:所有用户 语法:cat【文件名】 功能描述:显示文件内容 -n 显示行号 number 范例:$ cat /etc/issue $ cat -n /etc/services 把cat倒过来写tac 那么文件就会倒过来显示,这里的倒过来是一行一行地从最后一行输出到第一行 文件处理命令:more命令名称:more 命令所在路径:/bin/more 执行权限:所有用户 语法:more【文件名】 (空格)或 f 翻页 (Enter) 换行 q或Q 退出 功能描述:分页显示文件内容 范例:$ more /etc/services 注意 b 可以向回翻页 文件处理命令:less命令名称:less 命令所在路径:/usr/bin/less 执行权限:所有用户 语法:less【文件名】 功能描述:分页显示文件内容(可向上翻页) 范例:$ less /etc/services 它除了拥有more的查看功能,它还可以进行查找 在浏览状态下按 “/”,然后输入搜索关键词,回车可以搜索,它搜索到的就可以高亮标记~查找后按n,可以跳跃到,下一个高亮标记的地方。 所以more相较于less的最大不同点是有显示进度条,可以看到浏览到哪里 文件处理命令:head命令名称:head 命令所在路径:/usr/bin/head 执行权限:所有用户 语法:head【文件名】 功能描述:显示文件前面几行 -n 指定行数 范例:$ head -n 20 /etc/services 如果不加 -n 指定前几行,他会默认指定前10行 文件处理命令:tail命令名称:tail 命令所在路径:tail【文件名】 功能描述:显示文件后面几行 -n 指定行数 -f 动态显示文件末尾内容 范例:$ tail -n 18 /etc/services 不指定 -n 默认是10行 动态显示指的是,假如你用这个命令查看服务器的日志,服务器日志如果发生变化,你所显示的内容也会跟着发生变化。 链接命令:ln命令名称:ln 命令英文原意:link 命令所在路径:/bin/ln 执行权限:所有用户 语法:ln -s【原文件】【目标文件】 -s 创建软连接 soft 功能描述:生成链接文件 范例: $ ln -s /etc/issue /tem/issue.soft 创建文件/etc/issue的软连接/tem/issue.soft $ ln /etc/issue /tmp/issue.hard 创建文件/etc/issue的硬链接/tmp/issue.hard
当原文件被删除时,软连接会失效,但是硬链接仍然存在并有效。 权限管理命令权限管理命令:chmod命令名称:chmod 命令英文:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户 语法:chmod【{ugoa}{+-=}{rwx}】【文件或目录】 【mode=421】【文件或目录】 -R 递归修改 功能描述:改变文件或目录权限 能够更改权限的用户只有文件所有者或root ugoa 代表user group others all 不同用户改权限使用逗号隔开,如:chmod u+w,o-r Japanlovestory.list 等号是直接赋予:chmod g=rwx Japanlovestory.list 权限的数字表示:
rwxrw-r-- 7 6 4 所以要把文件的权限改成rwxrw-r-- ,只要输入命令: chmod 640 Japanlovestory.list 另外,修改目录testfile 及 其目录下文件为所有用户具有全部权限 命令为:$ chmod -R 777 testdir 权限管理命令:chown命令名称:chown 命令英文:change file ownership 命令所在路径:/bin/chown 执行权限:所有用户 语法:chown【用户】【文件或目录】 功能描述:改变文件或目录的所有者 范例:$ chown shenchao fengjie 改变文件fengjie的所有者为shenchao 注意:能够改变所有者的人只有管理员root! 要改变文件的所有者,这个改变后的所有者用户必须存在 可以用useradd xxxx,添加用户名 添加组 groupadd xxxx 权限管理命令:chgrp同样只有root可以执行 命令名称:chgrp 英文:change file group ownership 命令所在路径:/bin/chgrp 执行权限:所有用户 语法:chgrp【用户组】【文件或目录】 功能:改变文件或目录的所属组 范例:$ chgrp lampbrother fengjie 注意:在创建一个文件时,若不改变缺省值,那么创建者就是当前用户,而当前用户的所属组就是该文件的默认所属组 权限管理命令:umask命令名称:umask 命令英文:the user file-creation mask 命令所在路径:shell内置命令 执行权限:所有用户 语法:umask【-S】 -S 以rwx形式显示新建文件缺省权限 功能描述:显示、设置文件的缺省权限 范例:$ umask -S 就会显示新建文件的默认权限 但是注意新建文件夹和信件文件的默认权限值不同 可以看到aaa就是按照默认权限来创建的,但是当我们touch一个文件之后,它并没按照默认权限来创建,但仔细观察后发现只有执行权限,即x权限没有,这是由于linux规定文件默认不赋予执行权力,这也降低了木马病毒的危害,体现了linux的安全性~ 如果你只是键入umask而没有-S,你会发现返回给你0022 第一个0 表示一类特殊权限 022 并不是表示 --- -w- -w- 而是利用下面的逻辑算出 先写出完整权限 rwx rwx rwx 022最直观写出 --- -w- -w- 这两个写一个逻辑异或的关系,就是上下两个都有反而是- 所以结果就是 rwx r-x r-x 也就是 7 5 5 但如果对于文件,则没有执行权限x 所以要的到022,则是反过来异或运算,就是你要修改的权限和完整权限取异或,就是022;输入命令: umask 022 就是把默认权限设置成 rwx r-x r-x 注意:尽管如此,不建议更改权限,除非你真的需要 文件搜索命令文件搜索命令:find命令名称:find 命令所在路径:/bin/find 执行权限:所有用户 语法:find【搜索范围】【匹配条件】 功能描述:文件搜索
其他文件搜索命令文件搜索命令:locate 命令名称:locate 命令所在路径:/usr/bin/locate 执行权限:所有用户 语法:locate 文件名 功能描述:在文件资料库中查找文件 范例:$ locate inittab 这是快速查找,这是由于它把文件的为止建立一个库,并且实时更新,它是在这个库中搜索,所以搜索非常快;但是由于要更新库,但是可能库还没更新,那就找不到了。不区分大小写使用 -i 第一次使用或者需要更新库的时候,使用命令:updatedb 文件搜索命令:which 注意这个命令只有管理员root才能用 命令名称:which 命令所在路径:/usr/bin/which 执行权限:所有用户 语法:which 命令 功能描述:搜索命令所在的目录和它的别名信息 范例:$which ls 文件搜索命令:whereis 命令名称:whereis 命令所在路径:/usr/bin/whereis 执行权限:所有用户 语法:whereis【命令名称】 功能描述:搜索命令所在的目录以及帮助文档路径 范例:$ whereis ls 文件搜索命令:grep 命令名称:grep 命令所在路径:/bin/grep 执行权限:所有用户 语法:grep -iv【指定字串】【文件】 功能描述:在文件中搜索字串匹配的行并输出 -i 不区分大小写 -v 排除指定字符串 范例:# grep mysql /root/install.log linux的文件以井号开头是注释行 # grep -v ^# /etc/inittab 是排除掉以井号开头的行 帮助命令帮助命令:man命令名称:man 命令英文:manual 命令所在路径:/usr/bin/man 命令权限:所有用户 语法:man【命令或配置文件】 功能描述:获得帮助信息 范例:$ man ls 查看命令ls命令的帮助信息 $ man services 查看配置文件services的帮助信息 打开帮助信息的时候,/+关键字,系统会帮助你定位到关键字的位置 文件名 1 一般表示命令帮助 5 一般表示配置文件帮助 如果你想只查看命令 用 whatis 如果你想只查看配置文件 用 apropos 每一个命令加上--help,都会列出这个命令的选项信息,例如: touch --help 就会把touch常见的选项列出来 有一个类似的命令info,功能和man相似 帮助命令:help命令名称:help 命令所在路径:shell内置命令 执行权限:所有用户 语法:help 命令 功能描述:获得shell内置命令的帮助信息 范例:$ help umask 查看umask命令的帮助信息 shell命令是一种找不到路径的内置的命令,它们不能用man来查看,也不能用which来查找, 用户管理命令用户管理命令:useradd命令名称:useradd 命令所在路径:/usr/sbin/useradd 执行权限:root 语法:useradd 用户名 功能描述:添加新用户 范例:$ useradd yangmi 用户管理命令:passwd命令名称:passwd 民工所在路径:/user/sbin/passwd 执行权限:所有用户 root可以更改所有人的密码,用户只能更改自己的密码 语法:passwd 用户名 功能描述:设置用户密码 范例:$ passwd yangmi 用户管理命令:who命令名称:who 命令所在路径:/usr/bin/who 执行权限:所有用户 语法:who 功能描述:查看登录用户的信息 范例:$ who 可以帮助我们查看当前这台linux服务器的用户登入信息,有多少人登入 用户管理命令:w命令名称:w 命令所在路径:/usr/bin/w 执行权限:所有用户 语法:w 功能描述:查看登入用户详细信息 范例:$ w up 指的是 uptime 是服务器运行的时间 可以了解服务器的具体情况和用户使用的具体情况 压缩解压命令压缩解压命令:gzip命令名称:gzip 命令英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户 语法:gzip【文件】 功能描述:压缩文件 压缩后文件格式:.gz 注意!linux压缩文件后不保留原文件 压缩解压命令:gunzip命令名称:gunzip 命令英文:GNU unzip 命令所在路径:/bin/gunzip 执行权限:所有用户 语法:gunzip【压缩文件】 功能描述:解压.gz的压缩文件 范例:$ gunzip boduo.gz 压缩解压命令:tar命令名称:tar 命令所在路径:/bin/tar 执行权限:所有用户 语法:tar 选项【-zcf】【压缩后文件名】【目录】 -c 打包 -v 显示详细信息 -f 指定文件名 -z 打包同时压缩 这种方法,把目录做了一个备份,还可以对备份进行压缩 tar命令的解压语法为: -x 解包 -v 显示详细信息 -f 指定解压文件 -z 解压缩 范例:$ tar -zxvf Japan.tar.gz 解包后,原文件就变成了解包后的文件~而压缩文件包就没了 压缩解压命令:zip命令名称:zip 命令所在路径:/usr/bin/zip 执行权限:所有用户 语法: zip 选项【-r】【压缩后的文件名】【文件或目录】 -r 压缩目录 功能描述:压缩文件或目录 压缩后文件格式:.zip zip是windows和linux都支持的一种压缩格式 该命令可以保留原文件 压缩解压缩命令:unzip命令名称:unzip 命令所在路径:/usr/bin/unzip 执行权限:所有用户 语法:unzip【压缩文件】 功能描述:解压.zip的压缩文件 范例:$ unzip test.zip 压缩解压命令:bzip2这是zip的升级版,保留原文件,压缩比也更加客观,常用于压缩容量比较大的文件 命令名称:bzip2 命令路径:/usr/bin/bzip2 执行权限:所有用户 语法:bzip2 选项【-k】【文件】 -k 产生压缩文件后保留原文件 功能描述:压缩文件 压缩后文件格式:.bz2 范例:$ bzip2 -k boduo $ tar -cjf Japan.tar.bz2 Japan 网络命令网络命令:write指令名称:write 指令路径:/usr/bin/write 执行权限:所有用户 语法:write <用户名> 功能描述:给用户发送信息,以ctrl+D保存结束 范例:# write linzhiling 网络命令:wall指令名称:wall 命令英文:write all 指令路径:/usr/bin/wall 执行权限:所有用户 语法:wall【message】 功能:发送广播信息 范例:# wall ShenChao is a honest man 网络命令:ping命令名称:ping 命令路径:/bin/ping 执行权限:所有用户 语法:ping 选项 IP地址 -c 指定发送次数 功能描述:测试网络连通性 范例:# ping 192.168.1.156 网络命令:ifconfig命令名称:ifconfig 英文:interface configure 命令所在路径:/sbin/ifconfig 执行权限:root 语法:ifconfig 网卡名称 IP地址 功能描述:查看和设置网卡信息 范例:# ifconfig eth0 192.168.8.250 网络命令:mail命令名称:mail 命令路径:/bin/mail 执行权限:所有用户 语法:mail【用户名】 功能描述:查看发送电子邮件 范例:# mail root ctrl+D 保存和发送 单输一个mail,查看自己的收件箱 网络命令:last命令名称:last 命令路径:/usr/bin/last 执行权限:所有用户 语法:last 功能描述:列出目前与过去登入系统的用户信息 范例:# last 提示:reboot是重启 网络命令:lastlog命令名称:lastlog 命令路径:/usr/bin/lastlog 执行权限:所有用户 语法:lastlog 功能描述:检查某特定用户上次登入的时间 范例:# lastlog # lastlog -u 502 网络命令:traceroute命令名称:traceroute 命令路径:/bin/traceroute 执行权限:所有用户 语法:traceroute 功能描述:显示数据包到主机间的路径 范例:# traceroute url 网络命令:netstat命令名称:netstat 命令路径:/bin/bestat 执行权限:netstat【选项】 功能描述:显示网络相关信息 选项: -t TCP协议 -u UDP协议 -l 监听 -r 路由 -n 显示IP地址和端口号 范例: # netstat -tlun 查看本机监听的端口 # netstat -an 查看本机所有网络连接 # netstat -rn 查看本机路由表 网络命令:setup命令名称:setup 命令路径:/usr/bin/setup 执行权限:root 语法:setup 功能描述:配置网络 范例:# setup 补充挂载命令:mount命令名称:mount 命令位置:/bin/mount 执行权限:所有用户 命令语法:mount【-t 文件系统】设备文件名挂载点 范例:# mount -t iso /dev/sr0 /mnt/cdrom umount 卸载挂载 关机重启命令shutdown# shutdown【选项】时间 选项: -c 取消前一个关机命令 -h 关机 -r 重启 shutdown -h now或指定时间 其他关机命令
其他重启命令
系统运行级别: 0 关机 1 单用户 2 不完全多用户,不含NFS服务 Network File System 3 完全多用户 4 未分配 5 图形界面 6 重启 cat /etc/inittab 可以打开查看各数字的说明 runlevel 查看系统运行级别 退出登录命令logout |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 17:44:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |