收藏 | Linux常用实用命令

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 收藏 | Linux常用实用命令

Linux是我们开发人员必不可少的系统,也是经常接触到的。然而,Linux命令比较多,有些不常用也难记住。那么,我们如何更高效的使用Linux命令,而又不必全面地学习呢?今天就给大家分享一下我在开发过程中,比较常用、也比较实用的Linux命令。

01 查看文件或日志



查看文件内容或日志文件, 相信几乎所有人都会接触到。其中,用得最多的就是head、tail和cat命令。


1、head


表示头部,查看最前面几行数据。


命令 说明
head test.log 查看test.log文件前几行日志内容
head -n 20 test.log
查看test.log文件前20行日志内容
head -n -20 test.log 查看test.log除了最后20行日志内容


2、tail


表示尾部,查看最后几行或实时日志。


命令 说明
tail -f test.log 实时查看test.log文件最后几行日志内容
tail -f -n 20 test.log 实时查看test.log文件最后20行日志内容
tail -n 20 test.log 查看test.log文件最后20行日志内容
tail -n +20 test.log 查看test.log文件20行后的所有日志内容


3、cat


用于查看文件内容。


命令 说明
cat test.log 查看test.log文件所有内容


02 本地复制



同一台服务器不同目录之间复制文件或目录也是经常用到的。


1、复制文件


命令 说明
cp test.log /home/geshan/logs 复制test.log文件到/home/geshan/logs/目录下 
cp test.log  /home/geshan/logs/cptest.log 复制test.log文件到/home/geshan/logs/目录下并重新命名为cptest.log


2、复制文件夹


命令 说明
cp -r logs/ /home/geshan/ 复制 logs目录及目录下所有文件到/home/geshan/目录下,此时该目录会有logs目录
cp -r logs/ /home/geshan/testlogs/ 复制 logs目录及目录下所有文件到/home/geshan/testlogs/目录下,并把logs目录重新命名为testlogs,前提是/home/geshan/目录没有testlogs目录


注:-r或-R表示循环,循环目录下所有文件和目录。下面所有命令也是如此。


03 远程复制



当我们需要从远程服务器复制某个文件或目录到本地登录的服务器时,大部分人想到先登录远程服务器下载该文件,然后再登录本地服务器再上传文件。这样是比较麻烦,效率也不高。


1、本地服务器复制到远程服务器


(1)复制文件



命令格式
命令1 scp local_file remote_username@remote_ip:remote_folder
命令2 scp local_file remote_username@remote_ip:remote_file
命令3 scp local_file remote_ip:remote_folder
命令4 scp local_file remote_ip:remote_file


第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变;


第2个指定了文件名 ;


第3,4个没有指定用户名,命令执行后默认与当前服务器用户名并需要输入用户密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名。


实例1: 从本地服务器复制test.log至192.168.130.130服务器的/home/geshan/目录,并重新命名为20190125.log


命令:


scp test.log root@192.168.130.130:/home/geshan/20190125.log


实例2: 从本地服务器复制test.log至192.168.130.130服务器的/home/geshan/目录


命令:


scp test.log root@192.168.130.130:/home/geshan/

 

(2) 复制目录



命令格式
命令1 scp -r local_folder remote_username@remote_ip:remote_folder
命令2 scp -r local_folder remote_ip:remote_folder


第1个指定了用户名,命令执行后需要输入用户密码;


第2个没有指定用户名,命令执行后需要输入用户名和密码。


实例:从本地服务器/home/appuser/目录下的tomcat目录复制到192.168.130.130服务器的/home/geshan/目录


命令:


scp -r /home/appuser/tomcat root@192.168.130.130:/home/geshan/


2、从远程服务器复制到本地服务器


从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。


(1)复制文件


实例:从192.168.130.130远程服务器的/home/geshan/路径下test.log文件复制到本地服务器/home/appuser/路径


命令:


scp root@192.168.130.130:/home/geshan/test.log  /home/appuser/


(2)复制目录


实例:从192.168.130.130远程服务器的/home/geshan/路径下tomcat文件夹复制到本地服务器/home/appuser/路径


命令:


scp -r root@192.168.130.130:/home/geshan/tomcat/  /home/appuser/


注:ip地址和路径之间(即冒号之间)没有任何空格,否则会报错。当第一次和另外一台服务通信(如复制文件),会提示是否信任,输入yes即可。



04 压缩和解压



压缩和解压文件也是经常遇到的。如果下载一个目录下的所有文件,可以直接下载这个目录,但是直接下载目录的话,文件一旦很多,下载过程中很容易丢失文件,下载速度也比较慢。一般情况下是先压缩文件夹再下载。下面给大家介绍四种压缩和解压命令。


1、tar命令


解压:


tar zxvf fileName.tar


压缩:


tar czvf fileName.tar folder/

实例:


解压一个log.tar文件:


tar zxvf log.tar


压缩log目录并命名为log.tar:


tar czvf log.tar log/

2、gz命令


压缩:


gzip FileName


注:压缩为 .gz 文件 源文件会消失


如果想保留源文件,使用下面命令


gzip -c 源文件 > 压缩文件


解压:


gunzip FileName.gz
或者 gzip -d FileName.gz


.tar.gz 和 .tgz


解压:


tar zxvf FileName.tar.gz


压缩:


tar zcvf FileName.tar.gz DirName


压缩多个文件:


tar zcvf FileName.tar.gz DirName1 DirName2 DirName3 ...


实例:


解压tomcat.tar.gz文件


tar zxvf tomcat.tar.gz


压缩tomcat目录,并命名为tomcat.tar.gz文件


tar zcvf tomcat.tar.gz tomcat/


3、zip命令


解压:


unzip fileName.zip


压缩:


zip -r fileName.zip folder/
或者 zip -r fileName.zip folder1/ folder2/ .....
或者 zip -r fileNamezip file1 file2 ...


注:压缩目录时,需加 -r ,表示循环该目录下所有文件和目录。压缩多个文件或目录时,文件或目录之间需要空格。


实例:


解压一个log.zip文件:


unzip log.zip


压缩log文件目录并命名为log.zip:


zip -r log.zip log/


压缩log1和log2目录并命名为log.zip:


zip -r log.zip log1/ log2/


压缩test1.log和test2.log文件并命名为log.zip:


zip  log.zip test1.log test2.log

4、rar命令


同理,和zip命令类似,只需把zip改为rar即可。


05 修改权限



Linux系统中文件和目录访问权限是不同的,通过些方式可以确定谁可以对该文件和目录进行相应的操作。


其中,文件或目录的访问权限分为只读,只写和可执行三种,分别代表可读、可写和可执行。


1、chgrp命令


改变文件或目录所属的组。


命令:


chgrp groupName fileName
或者 chgrp -R groupName dirName/

实例:


把test.log文件所属的组修改为geshan组


chgrp geshan test.log


把logs目录及该目录下所有文件所属的组修改为geshan组


chgrp -R geshan logs/


2、chown命令


更改某个文件或目录所属的用户。


命令:


chown userName fileName
或者 chown -R userName dirName/


实例:


把test.log文件所属用户修改为geshan用户


chown geshan test.log


把logs目录及该目录下所有文件所属用户修改为geshan用户


chown -R geshan logs/

3、chmod命令


用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。


命令:


chmod mode fileName
或者 chmod -R mode dirName/


其中,mode有很多种表示含义,下面只对数字说明。


大部分人看到mode有777或776等权限,这些表示什么呢?


为了方便,把mode改为abc,其中a,b,c各为一个数字,分别表示user、group及other的权限。r=4,w=2,x=1,r表示Read读,w表示Write写,x表示eXecute。


  • 若要rwx属性则4+2+1=7;
  • 若要rw-属性则4+2=6;
  • 若要r-x属性则4+1=5。

实例:


把test.log文件修改可读写执行(即777)操作。


chmod 777 test.log


把logs目录及目录下所有文件修改为读写(666)操作。


chmod -R 666 logs/


在Linux系统中输入ll(两个小写LL),如果文件或目录为777(读写执行)权限,可看到最前面为-rwxrwxrwx。如果为666(读写)权限,可看到最前面为-rw-rw-rw。


注:一般修改文件或目录权限需要超级用户(root)进行修改,否则可能会报权限不足。


这些Linux命令是比较常用实用的命令,肯定会有用得到的时候,记得收藏并转发给有需要的人哦。

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
24天前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
97 16
|
16天前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
|
3月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
662 13
|
4月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
545 21
|
4月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
2月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
392 0
|
4月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
258 13
|
2月前
|
安全 Linux Shell
Linux系统中sudo命令的高效运用技巧。
用户可以通过sudo -l来列出自己目前可执行的命令列表,这有助于用户了解自己的权限范围。
117 0
|
2月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
4月前
|
Unix Linux
linux命令—cd
`cd` 命令是 Linux/Unix 系统中用于切换工作目录的基础命令。支持相对路径与绝对路径,常用选项如 `-L` 和 `-P` 分别处理符号链接的逻辑与物理路径。实际操作中,可通过 `cd ..` 返回上级目录、`cd ~` 回到家目录,或利用 `cd -` 在最近两个目录间快速切换。结合 Tab 补全和 `pwd` 查看当前路径,能显著提升效率。此外,需注意特殊字符路径的正确引用及脚本中绝对路径的优先使用。