Linux终端命令

Linux终端命令

 

1.终端命令的使用技巧

ctrl+shift+(+/=)    其实就是ctrl+“+”  放大终端界面字体;

ctrl+- 缩小终端字体;

tab  自动补全(注意,Linux是区分字母大小写的) ,双击tab的话,会根据你输入的首字母进行匹配查看有哪些内容;

ctrl+c 开启一行,重新输入命令;

 

 

2.终端命令的格式

2.1 格式

command   -options   parameter

command  :命令名字;

-options  :选项,可用来对命令进行控制,也可以省略

parameter:传给命令的参数,可以是0,一个,多个;

 

2.2 两种方式查看命令帮助信息

command --help

说明:显示command命令的帮助信息;

man command

查看命令的使用手册,使用q退出这个帮助信息;

 

 

3.Linux中最常用的七个命令

3.1查看文件夹下的文件:

序号命令对应英文作用
01lslist列出文件夹下的所有的文件
02pwdprint work dirctiory查看当前所在目录
03cd xxxchange dirctiory切换目录
04touch xxxtouch摸一下就创建了一个文件
05mkdir xxxmake directory创建目录
06rm xxxremove删除指定的文件名
07    clearclear清屏

 

4.目录相关的命令

4.1ls命令的扩展

ls -a

查看所有的文件 -a 就是all的意思;

-a 也能查看隐藏文件(.开头的文件)

. 表示当前目录

.. 表示上级目录  例如:cd ..  切换到上级目录

ls -l

显示文件的详细信息,例如:     

-rwxrw-rw- 1 zq zq 22940380 Oct 19 07:47 sougou.deb

 

ls -l -h 可以简写成 ls -lh   也可ls -lha 显示所有的文件信息:

-h和-l配合使用,人性化的显示文件大小;

-rwxrw-rw- 1 zq zq  22M Oct 19 07:47 sougou.deb

就可以看到文件的大小22M;

 

ls通配符的使用

如果文件中的文件特别多是就要使用通配符了

*  可以代码任意字符

? 问号,可以代表一字符,用法和*是一样的;

ls -a*    列出以a开头的所有文件;

ls -*b    列出所有已b结尾的所有文件;

ls -*c*  列出所有中包含c的文件;

 

4.2cd切换目录

命令说明
cd切换到当前用户的主目录(/home/用户目录)
cd ~切换到当前用户的主目录(/home/用户目录)
cd .保持当前目录不变
cd ..切换到上级目录
cd -在最近的两个目录中来回切换
cd ~/xxx快速的切换到了home/xxx目录

 

5.创建和删除

5.1 touch命令

如果文件不存在的话,就会创建一个空白的文件;

如果文件存在的话,会修改一下文件的最后修改信息;

5.2 mkdir -p

创建目录

mkdir aa  会创建一个aa文件夹

mkdir -p 创建多级文件夹

mkdir -p aa/bb/cc/dd  创建多级文件夹;

ps:在同一目录下,文件夹和文件名字是不能相同的;

5.3 rm删除命令

rm是直接从磁盘中干掉的,是不能恢复的;不进回收站(只能干掉文件,不能干掉文件夹)

rm -r  可以删除多级目录(包含文件和文件夹)

rm -f 强制删除,忽略错误,不提示;

 

6.拷贝和移动文件

6.1 tree

查看目录层级关系

使用tree ~  查看home下的目录结构

tree -d  只显示文件夹,不显示文件;

 

6.2 cp命令 拷贝文件

cp 就死copy的简写

cp 路径/文件名  路径    就可以拷贝文件了;  即使文件存在也是直接覆盖的;

 

cp -i   复制文件的时候会检查是否文件存在,会有提示需要覆盖吗?

cp -r  复制目录;

 

6.3 mv命令

mv就是move的缩写

mv xxx1 xxx2  将xxx1移动到xxx2中;

但是在移动的时候可能会存在文件的覆盖,和要加一个 -i 进行提示,有没有文件覆盖;

 

mv命令也可以重名明一个文件或者文件目录,把aaa 命名为bbb;

zq@ubuntu:~/Desktop$ mv ./aaa ./bbb

zq@ubuntu:~/Desktop$ mv ./aaa.txt ./bbb.txt

 

 

7.文件内容的终端命令

7.1 cat      concatenate的缩写   查看文件内容,一次加载完成

7.2 more   查看文件内容,内容过多,分次显示;

cat 命令的扩展:

cat -b   输出行号,不会输出空行的行号;

cat -n   所以行的行号(包括空行)

 

7.3 grep搜索文本内容:在文件11.txt中搜索hello字符串

grep hello 11.txt

显示hello内容的行号:

grep -n hello 11.txt

显示不包含hello内容的行:

grep -v hello 11.txt

忽略大小写搜索:

grep -i hello 11.txt     grep -i "hello python" 11.txt

 

模式搜索:

行首匹配:^

例如:搜索以f为行首的:grep ^f 11.txt

           显示行号:grep -n ^f 11.txt

行尾匹配:$

例如:以k结尾的行   grep k$ 11.txt

           显示行号:grep -n k$ 11.txt

 

8.其他命令

8.1 echo 

echo 会在终端中显示参数 指定的文字,通常会和重定向联合使用

例如:zq@ubuntu:~/Desktop$ echo helloPython > log.txt
 

8.2 重定向 > 和 >>

Linux允许将命令执行的结果 重定向 到一个文件中;

将本该输出显示在终端上的内容 输出追加到指定的文件中;如果文件不存在会创建,存在会覆盖;

如果使用>>不会覆盖而是追加;

例如:zq@ubuntu:~/Desktop$ ls -lh > log.txt

 

>  表示输出,会覆盖文件的原有的内容

>>  表示追加,会将内容追加到已经有的内容的末尾;

 

8.3 关机/重启

shutdown                 默认一分钟后关机

shutdown  now              立刻关机

shutdown -c             取消关机

shutdown -r             重启电脑(在实际开发中都是重启,没有关机,不然谁帮你启动电脑啊)

shutdown -r now            立刻重启电脑

 

8.4 ifconfig  查看网卡信息

直接在终端输入ifconfig
也可以通过管道过滤下ip信息: ifconfig | grep inet

ps:127.0.0.1 被称为本地回环/回环地址,一般用来测试本机网卡是否正常;

8.5 ping

检测到目标主机是否连接正常;

ping xxx

测试下本地网卡是否正常 ping 127.0.0.1 

ps:Linux终端程序中想要终止一个程序,绝大多数可以使用ctrl+c;

 

8.6 远程登录和复制文件

在Linux中ssh是一个非常常用的工具,通过ssh客户端可以连接到运行了ssh服务器的远程机器上;

SSH 全名:Secure shell (SSH) 协议连接到远程计算机的软件程序;

ssh -p port  username@ip

username 是远程计算机上的用户名;

ip为远程机器的ip/域名

port 是SSH Server监听的端口号,如果不指定,就默认的是22;

例如:ssh -p 22 zq@172.16.140.138

在Ubuntu或者mac的电脑中默认是安装了SSH客户端的;所以可以直接使用ssh命令

但是在windows系统上就要安装相应的客户端软件了,例如xshell、putty

xshell的官方下载地址:http://www.xshellcn.com/

 

8.7 scp

全名:secure copy ,是一个在Linux下用来进行远程拷贝文件的命令

地址格式基本和ssh基本相同user@ip,只不过在指定端口的时候 大写的 -P 而不是小写的;

ps:scp 是在mac系统中可以这样和Linux进行文件交互;

在windows中药使用xftp软件进行和Linux文件的交互;

 

9.用户权限终端命令

硬连接数:有多少中方式可以访问文件或者文件夹,

比如下面的01.py 文件 只能通过绝对或者相对路径进行访问(相对路径在实际原理也是转换成了绝对路径的);

在比如 aaa文件夹 的硬连接数是3: 可以通过绝对路径访问,通过cd .  的方式访问当前目录;在aaa下还有一个a文件夹,可以通过a ..的方式返回到上级目录;所以是3种方式;如果在aaa文件夹下在建立一个b文件夹的话,连接数就成了4了;

 

9.1修改文件权限

去掉可读权限

chmod -r aa.py

去掉可写权限

chmod -w aa.py

去掉可读可写权限

chmod -rw aa.py

添加权限就是把-改成+就可以了

添加可以执行权限,文件就变成了绿色;

chmod +x aa.py

 

目录的权限修改,创建一个目录的时候默认都是有可执行权限的;不然的话文件夹没办法访问;更改权限和文件的修改权限的命令是一样的;

root账户:就是超级用户,是具有所有的权限的;如果误删除了系统文件可能会崩溃,一般是不推荐使用root用户登录的;

但是有时候要切换到超级用户权限的时候:可以在命令前加一个sudo  以root的身份执行命令了;

 

9.2 组管理的命令

添加组

sudo groupadd dev

删除组

sudo groupdel dev

通过查看系统group文件查看有没有组信息,在文件的最后一样是否有组信息;

cat /etc/group 

 

需求:建议一个文件夹,建立一个组,把文件夹放管理权限添加到新建的组中;

1.mkdir 文件夹名字

2.sudo groupadd 组名

3.cat /etc/group     查看组是否添加成功了;

4.chgrp -R 组名 文件夹名

 

10 .用户管理的终端命令

sudo useradd -m -g dev zq     常见一个zq的用户

sudo passwd zq      给zq这个用户设置密码;

userdel -r zq      删除这个用户;

 

查看用户信息:

id 用户名

[zq@localhost home]$ id zq
uid=1000(zq) gid=1000(zq) 组=1000(zq),10(wheel)

这个信息是保存在etc/passwd文件中的;

 

who  

查看当前所有的用户登录了系统;

whoami

查看当前登录的用户名;

 

11.which

查看文件的位置;

which python        输出/usr/bin/python

ls -l /usr/bin/python

lrwxrwxrwx. 1 root root 7 11月 16 19:33 /usr/bin/python -> python2

 

12 .切换用户

 

13.系统相关信息的命令

13.1 时间和日期;

1.系统时间

date

2.日期

cal   查看日历,-y 可以查看一年的日历;

13.2 查看磁盘的信息;

df -h     显示磁盘的剩余空间

du -h   目录      查看目录的占用空间大小

其中-h 是以人性化的显示占用大小;

 

14.进程信息

 

15 find命令

查找文件

find 路径 -name "*.py"

省略路径的话就是当前文件夹下、

 

find -name "*.txt"

find -name "*1*"

find -name "1*"

16.软连接

相当于windows中的桌面的快捷方式;

17.硬连接

软连接中没有-s就是硬的;

在liunx中文件数据和文件名是分开存储的,

硬连接相当于给文件数据有引用了一个名字,删除原来的名字对文件数据不影响;

软连接则是连接到的文件的名字,删除了文件的名字后,就无法访问文件数据了;(删除文件名字,其实数据也已经删除了,因为没有引用指向数据了。系统会将数据源也一并删除掉);
一般不会建立硬连接的;

 

18 终端命令实现打包压缩

18.1 打包:

tar -cvf 打包.tar 被打包的文件名,只负责打包,不负责压缩;

例如:tar -cvf 1.tar a.py b.py c.py

解包:tar -xvf 1.tar          默认是当前路径;

解包:tar -xvf 1.tar -c 目标路径

18.2 压缩:

使用gzip来进行压缩,加一个z就可以了

例如:tar -zcvf 1.tar *.py

解包:tar -zxvf 1.tar

解包:tar -zxvf 1.tar -c 目标路径

 

19.上传和下载文件

上传文件:两步走

sudo su

rz -b

 

下载文件:两步走

sudo su

sz -b 文件名

 

20.   yum whatprovides  

解决办法:
 1、执行命令: yum whatprovides libstdc++.so.6
 
然后会提示哪个安装包有这个库文件如下:
 
[root@localhost ~]# yum whatprovides libstdc++.so.6
 Loaded plugins: aliases, changelog, downloadonly, fastestmirror, kabi, presto, refresh-packagekit, security, tmprepo, verify,
              : versionlock
 Loading support for CentOS kernel ABI
 Loading mirror speeds from cached hostfile
  * base: centos.ustc.edu.cn
  * centosplus: centos.ustc.edu.cn
  * contrib: centos.ustc.edu.cn
  * extras: centos.ustc.edu.cn
  * updates: centos.ustc.edu.cn
 libstdc++-4.4.7-3.el6.i686 : GNU Standard C++ Library
 Repo        : base
 Matched from:
 Other      : libstdc++.so.6
 
2、然后执行:
 
yum install libstdc++-4.4.7-3.el6.i686
 
搞定!

 

Linux 系统中,查看端口号相关的命令有多种方式,每种方法适用于不同的场景和需求。以下是常用的几种方法及其使用方式: ### 使用 `netstat` 命令查看端口号 `netstat` 是一个网络统计工具,可以显示各种网络连接、路由表、接口统计等信息。通过 `netstat` 可以查看特定端口的占用情况。 ```bash netstat -tuln | grep <端口号> ``` 例如查看端口 3306 的占用情况: ```bash netstat -tuln | grep 3306 ``` 该命令中: - `-t` 表示显示 TCP 连接。 - `-u` 表示显示 UDP 连接。 - `-l` 表示仅显示监听状态的端口。 - `-n` 表示不解析服务名称,直接显示端口号[^1]。 ### 使用 `ss` 命令查看端口号 `ss` 是一个更高效的网络诊断工具,功能类似于 `netstat`,但速度更快。 ```bash ss -tuln | grep <端口号> ``` 例如查看端口 3306 的占用情况: ```bash ss -tuln | grep 3306 ``` 命令参数与 `netstat` 类似,其优势在于执行速度更快且资源占用更低[^1]。 ### 使用 `lsof` 命令查看端口号 `lsof` 是一个列出当前系统打开文件的工具,可以用于查看特定端口被哪些进程占用。 ```bash lsof -i :<端口号> ``` 例如查看端口 3306 的占用情况: ```bash lsof -i :3306 ``` 该命令会显示占用该端口的进程 ID(PID)和进程名称,便于进一步分析和操作[^1]。 ### 使用 `fuser` 命令查看端口号 `fuser` 可用于查看某个端口被哪些进程使用。 ```bash fuser <端口号>/tcp ``` 例如查看端口 3306 的占用情况: ```bash fuser 3306/tcp ``` 该命令会输出占用该端口的进程 ID,便于后续通过 `ps` 命令进一步查看进程信息[^1]。 ### 使用 `nmap` 命令查看端口号 `nmap` 是一个网络发现和安全审计工具,可以用于扫描本地或远程主机的端口状态。 ```bash nmap -p <端口号> localhost ``` 例如查看端口 3306 的占用情况: ```bash nmap -p 3306 localhost ``` 该命令会显示端口的状态(如 `open` 或 `closed`),适用于检查本地或远程主机的端口开放情况。 ### 结合 `ps` 和 `netstat` 查找占用端口的程序名称 如果需要查找占用端口的具体程序名称,可以通过 `netstat` 找到进程 ID(PID),再通过 `ps` 命令查看程序名称。 ```bash ps -aux | grep <PID> ``` 例如通过 `netstat` 找到 PID 后,使用以下命令查看程序名称: ```bash ps -aux | grep 1234 ``` 该方法适用于需要确认占用端口的具体程序,并决定是否需要结束该进程以释放端口[^2]。 ### 结束占用端口的进程 如果发现端口被占用且需要释放,可以使用 `kill` 命令结束进程。 ```bash kill <PID> ``` 如果进程无法正常结束,可以强制终止: ```bash kill -9 <PID> ``` 此操作需要谨慎,避免误杀关键系统进程[^2]。 ### 连接状态说明 在查看端口连接状态时,可能会遇到 `TIME-WAIT` 状态。该状态表示连接已经关闭,但系统仍在等待足够时间以确保远程主机接收到关闭请求。此状态通常不会影响新连接的建立,但若频繁出现,可能需要优化网络配置或调整系统参数[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值