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命令是比较常用实用的命令,肯定会有用得到的时候,记得收藏并转发给有需要的人哦。
Linux常用实用命令的更多相关文章
- Linux常用脚本命令总结
基本操作 通用操作 1. export 显示所有的环境变量,也可以获取到某个变量的详细信息: export # 显示所有 echo $SHELL # 只显示SHELL 2. whereis 使用系统自 ...
- Linux常用基础命令整理:关机命令、查看目录下文件命令等
Linux常用基础命令整理:关机命令.查看目录下文件命令等 整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子. Tab按键---命令补齐功能Ctrl+c按键-- ...
- linux常用网络命令ping和arping
linux常用网络命令ping和arping ping 向目标主机发送icmp请求包 常用来测试当前主机与目标主机网络连接状况 常见选项 -c 设置发包的个数 -s ...
- Linux 常用系统性能命令总结
Linux 常用系统性能命令 查看系统负载top,free **w/uptime ** 最后面三个数字表示1分钟,5分钟,15分钟平均有多少个进程占用CPU占用CPU的进程可以是Running,也可 ...
- Linux常用基础命令(二)
Linux常用基础命令 一.-ls--列表显示目录内容 二.-alias--设置别名 三.-du--统计目录及文件空间占用情况 四.-mkdir--创建新目录 五.-touch--创建空文件 六.-l ...
- linux 常用查看命令
linux 常用查看命令 目录 linux 常用查看命令 linux 查看内存/进程-ps/top linux 查看磁盘存储-df linux 查看io读写-iotop linux 查看端口占用-ne ...
- Linux 常用脚本命令
Linux 常用(脚本)命令 1. 统计目录下文件个数 ll |grep "^-"|wc -1 解释 grep "^-"表示抓取以-开头的行(其他忽略)
- linux常用终端命令(一)终端命令格式(二)文件和目录常用命令
一.linux终端命令格式 1.终端命令格式 command [-options] [parameter] 说明: command :命令名,相应功能的英文单词或单词的缩写 [-options] ...
- linux常用的命令
Linux简介及Ubuntu安装 Linux,免费开源,多用户多任务系统.基于Linux有多个版本的衍生.RedHat.Ubuntu.Debian 安装VMware或VirtualBox虚拟机.具体安 ...
随机推荐
- override 与overload 的差别
方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现. 重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个 ...
- UVA 548(二进制重建和遍历)
J - Tree Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Ap ...
- hdu 3966 树链分割第一3遍
真的不好意思说话.你写得越多,对风暴各种问题泄露,更离谱,有什么错有.. .但是,仍然有一个.同时经过规范的编写清晰的代码.不能认为是理所当然... 树桩阵列版: #include<cstdio ...
- echarts学习(上)
echarts 学习之路 学习思路 初识echarts 编写自己的echarts图表 根据需求编写工作中的echarts图表[进阶篇] github地址:https://github.com/liso ...
- 第四十天 阿乐在其中—Android小游戏的飞机(四)加入敌人
8月9日,晴. "江城如画里,山晓望晴空. 雨水夹明镜.双桥落彩虹. 人烟寒橘柚,秋色老梧桐." 上篇已经让飞机载入子弹和音效及背景音乐,本篇主要加入敌机. 本篇要用到的几个函数解 ...
- ios技术支持网址
如有任何问题可以留言: 邮箱地址:cccliche@outlook.com
- WPF 自定义图片剪切器 - 头像剪切(扩展与完善、实时截图)
原文:WPF 自定义图片剪切器 - 头像剪切(扩展与完善.实时截图) 一.说明:上一次写的"WPF 自定义图片剪切器 - 头像剪切.你懂得"存在明显的缺陷,由于篇幅较长.重新写了一 ...
- 【C#/WPF】调节图像的HSL(色相、饱和度、明亮度)
原文:[C#/WPF]调节图像的HSL(色相.饱和度.明亮度) 先说概念: HSL是一种描述颜色的方式(其他颜色描述方式还有大家熟悉的RGB值).HSL三个字母分别表示图像的Hue色相.Saturat ...
- glibc内存管理方式
程序员接触的内存空间和系统接触的物理内存空间是有所区别的.对于一般进程来讲,他面对的是一个线性虚拟内存空间:地址从0到最大值.每一个进程面对的虚拟内存空间都是一样的,都享有全部的内存地址.虚拟内存空间 ...
- 【C#】解决MouseHook捕获鼠标动作,在有些电脑上SetWindowsHookEx失败返回0的问题
原文:[C#]解决MouseHook捕获鼠标动作,在有些电脑上SetWindowsHookEx失败返回0的问题 最近在debug鼠标位置捕获的功能时发现在其中的一台开发电脑上,SetWindowsHo ...