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查看文件夹下的文件:

序号 命令 对应英文 作用
01 ls list 列出文件夹下的所有的文件
02 pwd print work dirctiory 查看当前所在目录
03 cd xxx change dirctiory 切换目录
04 touch xxx touch 摸一下就创建了一个文件
05 mkdir xxx make directory 创建目录
06 rm xxx remove 删除指定的文件名
07     clear clear 清屏

 

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

查看目录层级关系

Linux终端命令_第1张图片

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

Linux终端命令_第2张图片

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 [email protected]

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

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

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

 

8.7 scp

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

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

Linux终端命令_第3张图片

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

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

 

9.用户权限终端命令

Linux终端命令_第4张图片

Linux终端命令_第5张图片

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

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

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

Linux终端命令_第6张图片

 

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 .用户管理的终端命令

Linux终端命令_第7张图片

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 .切换用户

Linux终端命令_第8张图片

 

13.系统相关信息的命令

13.1 时间和日期;

1.系统时间

date

2.日期

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

13.2 查看磁盘的信息;

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

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

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

 

14.进程信息

Linux终端命令_第9张图片

 

15 find命令

查找文件

find 路径 -name "*.py"

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

 

find -name "*.txt"

find -name "*1*"

find -name "1*"

16.软连接

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

Linux终端命令_第10张图片

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)