linux命令详解?
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。
线上查询及帮助命令(2个)
man:查看命令帮助,命令的词典,更复杂的还有info,但不常用。
help:查看Linux内置命令的帮助,比如cd命令。
linux系统有很多命令没有怎么办?
在linux中输入某命令后, 系统提示没有这个命令, 比如:bash: tree: command not found. 系统提示我们, 没有tree这个命令, 那该怎么办呢?
首先我们必须明白linux命令的本质, 大家都知道, 在linux中, 一切都是文件, 所以命令也是文件。 在这里, 我们可以理解为执行tree命令就是执行tree文件(通常是可执行文件、脚本等), 然后我们想办法把tree文件拷贝到系统默认目录中(需要root权限)。最后, 万事大吉, tree命令可以用了。
那问题是, 我们去哪里拷贝呢? 有两个方法:
a. 从别的机器上拷贝;
b. 编译tree对应的源代码, 生成对应的tree文件, 然后拷贝到对应的系统目录。
linux trac命令详解?
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在MS Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址。
在大多数情况下,我们会在linux主机系统下,直接执行命令行:
traceroute hostname
而在Windows系统下是执行tracert的命令:
tracert hostname
1.命令格式:
traceroute
2.命令功能:
traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
具体参数格式:traceroute
3.命令参数:
-d 使用Socket层级的排错功能。
-f 设置第一个检测数据包的存活数值TTL的大小。
-F 设置勿离断位。
-g 设置来源路由网关,最多可设置8个。
-i 使用指定的网络界面送出数据包。
-I 使用ICMP回应取代UDP资料信息。
-m 设置检测数据包的最大存活数值TTL的大小。
-n 直接使用IP地址而非主机名称。
-p 设置UDP传输协议的通信端口。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-s 设置本地主机送出数据包的IP地址。
-t 设置检测数据包的TOS数值。
-v 详细显示指令的执行过程。
-w 设置等待远端主机回报的时间。
-x 开启或关闭数据包的正确性检验。
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
命令:
实例2: 从本地服务器复制test.log至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/目录命令:
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/路径
命令:
注:ip地址和路径之间(即冒号之间)没有任何空格,否则会报错。当第一次和另外一台服务通信(如复制文件),会提示是否信任,输入yes即可。
04 压缩和解压
压缩和解压文件也是经常遇到的。如果下载一个目录下的所有文件,可以直接下载这个目录,但是直接下载目录的话,文件一旦很多,下载过程中很容易丢失文件,下载速度也比较慢。一般情况下是先压缩文件夹再下载。下面给大家介绍四种压缩和解压命令。
1、tar命令
解压:
压缩:
实例:解压一个log.tar文件:
压缩log目录并命名为log.tar:
2、gz命令
压缩:
注:压缩为 .gz 文件 源文件会消失如果想保留源文件,使用下面命令
解压:
.tar.gz 和 .tgz解压:
压缩:
压缩多个文件:
实例:解压tomcat.tar.gz文件
压缩tomcat目录,并命名为tomcat.tar.gz文件
3、zip命令
解压:unzip fileName.zip压缩:
注:压缩目录时,需加 -r ,表示循环该目录下所有文件和目录。压缩多个文件或目录时,文件或目录之间需要空格。
实例:解压一个log.zip文件:
压缩log文件目录并命名为log.zip:
压缩log1和log2目录并命名为log.zip:
压缩test1.log和test2.log文件并命名为log.zip:
4、rar命令
同理,和zip命令类似,只需把zip改为rar即可。
05 修改权限
Linux系统中文件和目录访问权限是不同的,通过些方式可以确定谁可以对该文件和目录进行相应的操作。
其中,文件或目录的访问权限分为只读,只写和可执行三种,分别代表可读、可写和可执行。
1、chgrp命令
改变文件或目录所属的组。命 令:
实例:把test.log文件所属的组修改为geshan组
把logs目录及该目录下所有文件所属的组修改为geshan组
2、chown命令
更改某个文件或目录所属的用户。命令:
实例:把test.log文件所属用户修改为geshan用户
把logs目录及该目录下所有文件所属用户修改为geshan用户
3、chmod命令
用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。命令:
其中,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)操作。
把logs目录及目录下所有文件修改为读写(666)操作。
在Linux系统中输入ll(两个小写LL),如果文件或目录为777(读写执行)权限,可看到最前面为-rwxrwxrwx。如果为666(读写)权限,可看到最前面为-rw-rw-rw。
注:一般修改文件或目录权限需要超级用户(root)进行修改,否则可能会报权限不足。
这些Linux命令是比较常用实用的命令,肯定会有用得到的时候,如果对你有所帮助,记得点赞收藏转发哦!
git和linux命令行区别?
git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
linux命令行是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。