Linux常用命令总结

无论是后端程序员还是前端程序员,一定避免不了和Linux系统打交道。可能是自己在学习的时候搭建虚拟机环境,也可能是在公司测试环境进行服务的维护,甚至可能去线上服务器进行生产问题的排查。

这就要求我们要熟练使用Linux命令行,相关的常用命令很可能不经常使用就忘了,这里我收集了一些常用命令以便需要时查看,欢迎作补充。(这里的提到操作都默认以CentOS系统为基础)

如果你还没有安装 Linux 虚拟机,可以参考这篇文章:开发攻城狮必备的Linux虚拟机搭建指南

 

 1.ls命令

通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。

常用参数搭配:

ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

2.cd命令

cd [目录名]  切换当前目录至 dirName。
实例:
cd /   进入根目录
cd ~   进入 "home" 目录
cd -   进入上一次工作路径
cd !$  把上个命令的参数作为cd参数使用

3.pw命令

用于查看当前工作目录路径

pwd         查看当前路径
pwd -P     查看软链接的实际路径

4.mkdir命令

用于创建文件夹

可用选项:

  • -m: 对新建目录设置存取权限,也可以用 chmod 命令设置;
  • -p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录
mkdir t        当前工作目录下创建名为 t的文件夹
mkdir -p /tmp/test/t1/t    在 tmp 目录下创建路径为 test/t1/t 的目录,若不存在,则创建:

5.rm命令

删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

rm [选项] 文件…
rm -i *.log        删除任何 .log 文件,删除前逐一询问确认
rm -rf test        删除 test 子目录及子目录中所有档案删除,并且不用一一确认
rm -- -f*          删除以 -f 开头的文件

6.rmdir命令

从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限。注意:不能删除非空目录

rmdir -p parent/child/child11
当 parent 子目录被删除后使它也成为空目录的话,则顺便一并删除

7.mv命令

移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。

当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。

mv test.log test1.txt    将文件 test.log 重命名为 test1.txt
mv log1.txt log2.txt log3.txt /test3    将文件 log1.txt,log2.txt,log3.txt 移动到根的 test3 目录中
mv -i file1 file2    将文件 file1 改名为 file2,如果 file2 已经存在,则询问是否覆盖
mv * ../    移动当前文件夹下的所有文件到上一级目录

8.cp命令

将源文件复制至目标文件,或将多个源文件复制至目标目录。

注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!
-i 提示
-r 复制目录及目录内所有项目
-a 复制的文件与原文件时间一样
cp -ai a.txt test    复制 a.txt 到 test 目录下,保持原文件时间,如果原文件存在提示是否覆盖。
cp -s a.txt link_a.txt   为 a.txt 建立一个链接(快捷方式) 

9.cat命令

主要有三大功能:

1.一次显示整个文件:

cat filename

2.从键盘创建一个文件:只能创建新文件,不能编辑已有文件。

cat > filename

3.将几个文件合并为一个文件:

cat file1 file2 > file
  •  -b 对非空输出行号
  •  -n 输出所有行号

10.more命令

功能类似于 cat, more 会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。

+n      从笫 n 行开始显示
-n       定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 
-c       从顶部清屏,然后显示
-d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l        忽略Ctrl+l(换页)字符
-p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s       把连续的多个空行显示为一行
-u       把文件内容中的下画线去掉
常用操作命令
Enter 向下 n 行,需要定义。默认为 1 行 Ctrl+F 向下滚动一屏 空格键 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 V 调用vi编辑器 !命令 调用Shell,并执行命令 q 退出more

11.which命令

在 linux 要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

which       查看可执行文件的位置。
whereis     查看文件的位置。
locate      配合数据库查看文件位置。
find        实际搜寻硬盘查询文件名称。

which 是在 PATH 就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which ls    查看 ls 命令是否存在,执行哪个
which which 查看 which
which cd   (显示不存在,因为 cd 是内建命令,而 which 查找显示是 PATH 中的命令)
echo $PATH  查看当前 PATH 配置:

12.whereis命令

whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。whereis 及 locate 都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。

常用参数:

-b   定位可执行文件。
-m   定位帮助文件。
-s   定位源代码文件。
-u   搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

13.locate命令

locate 通过搜寻系统内建文档数据库达到快速找到档案,数据库由 updatedb 程序来更新,updatedb 是由 cron daemon 周期性调用的。默认情况下 locate 命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是 locate 所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值中,updatedb 每天会跑一次,可以由修改 crontab 来更新设定值 (etc/crontab)。

locate 与 find 命令相似,可以使用如 *、? 等进行正则匹配查找

常用参数:

-l num(要显示的行数)
-f   将特定的档案系统排除在外,如将proc排除在外
-r   使用正则运算式做为寻找条件
locate pwd         查找和 pwd 相关的所有文件(文件名中包含 pwd)
locate /etc/sh      搜索 etc 目录下所有以 sh 开头的文件
locate -r '^/var.*reason$' (其中.表示一个字符,*表示任务多个;.*表示任意多个字符) 查找 /var 目录下,以 reason 结尾的文件

14.chmod命令

用于改变 linux 系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。可使用 ls -l test.txt 查找

-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log
第一列共有 10 个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是 d,表示是一个目录。从第二个字符开始到第十个 9 个字符,3 个字符一组,分别表示了 3 组用户对文件或者目录的权限。权限字符用横线代表空许可,
r 代表只读,w 代表写,x 代表可执行。

权限范围:

u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组

权限代号:

r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限

原文链接:https://www.cnblogs.com/alinSong/p/17332629.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux常用命令总结 - Python技术站

(0)
上一篇 2023年4月19日
下一篇 2023年4月19日

相关文章

  • 云服务器开启端口

    目录 云服务器开启端口 CentOS开启端口 Ubuntu开启端口 云服务器开启端口 CentOS开启端口 防火墙添加端口 firewall-cmd –zone=public –add-port=端口/tcp –permanent 命令含义:–zone #作用域–add-port=1935/tcp #添加端口,格式为:端口/通讯协议–permanent…

    Linux 2023年4月17日
    00
  • linux时间与internet时间同步

    我们首先来了解下面几个知识点: 1. date命令: #date 显示系统时间 2.hwclock命令   (即hardwareclock系统硬件时间) #hwclock 显示硬件时间 #hwclock -w 将系统时间写入到系统硬件当中 3.ntpdate ntpdate 是一个linux时间同步服务软件,具体的详细资料请参考下百度,有很多详细的资料 第二…

    Linux 2023年4月11日
    00
  • 手动拷贝文件至nextcloud中并扫描(docker)

    出于不能在nextcloud的web页面手动上传,需要写脚本实现自动上传文件至nextcloud的目的,直接在服务器上将文件手动拷贝到nextcloud目录: docker cp /data/files nextcloud:/var/www/html/data/账号名/files 但是一般人不这么做,一般挂载到-v卷岂不更好 在nextcloud目录中我们可…

    Linux 2023年4月24日
    00
  • Linux中 python2 安装cx_Oracle连接Oracle

    环境描述: 操作系统:ubuntu 12.04 Python 环境: python2.7 # Ubuntu# apt-get install python-pip python-dev# Centos# yum -y install epel-release# yum -y install python-pip python python-devel 2 c…

    Linux 2023年4月13日
    00
  • linux周期性计划任务 进程管理

    周期性计划任务crontab命令系统服务:/etc/init.d/crond(crond必须启动才会生效)用户计划:/var/spool/cron/用户名默认的计划任务全局配置:/etc/crontab系统计划:/etc/cron.hourly/*(每小时要执行) /etc/cron.daily/*(每天要执行) /etc/cron.weekly/*(每星期…

    Linux 2023年4月12日
    00
  • 嵌入式Linux开发教程:获取Linux环境

    获取Linux环境是进行嵌入式Linux开发教程的第一步,本文将详细讲解获取Linux环境的完整攻略。 获取Linux环境 安装虚拟机 VirtualBox是一款免费的虚拟机软件,我们可以使用它来创建虚拟机来模拟Linux环境。以下是使用VirtualBox安装Linux环境的步骤: 下载并安装VirtualBox软件。 下载一个Linux发行版的ISO镜像…

    Linux 2023年5月24日
    00
  • Linux脚本基础之if [-d -e -f]等参数

    1、if参数之关于文件判定   2、if参数之关于整型变量判定   3、if参数值关于字符串变量表达式判定   4、if 之与或非  

    Linux 2023年4月13日
    00
  • linux服务器用centos还是ubuntu系统

    首先我们需要了解一下CentOS和Ubuntu的特点和适用场景。 CentOS是一种在企业级环境下非常常用的Linux操作系统,CentOS的代码基础源自于Red Hat Enterprise Linux(RHEL)操作系统,因而被许多企业和组织广泛使用,尤其适用于网络服务器、Web服务器以及虚拟化服务器等应用场景。 Ubuntu则是一个为桌面、服务器和云环…

    Linux 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部