Linux常用基本命令大全

 

ls

ls -a 显示指定目录下所有目录与文件,包括隐藏文件
   -l  以列表的方式显示文件的详细信息
   -h 配合-l以人性化的方式显示文件大小 
隐藏文件和隐藏文件夹是用来配置应用的。


通配符的使用

*-----代表任意个数个字符
?-----代表任意一个字符,至少一个
[] ------ 表示可以匹配字符族中的任意一个 
[abc]----匹配a、b、c中的任意一个
[a-f] ------匹配从a到f范围内的任意一个字符

cd change directory 的缩写,其功能为更改当前的工作目录,也是用户最常用的命令之一。

cd       回到家目录(/home/用户目录)
cd~     回到家目录(/home/用户目录)
cd .
cd ..
cd -   可以在最近两次目录之间来回切换

touch

创建文件或修改文件时间
如果文件不存在,可以创建一个空白文件
如果已经存在,可以修改文件的末次修改日期

mkdir 

mkdir -p 递归创建目录 
新建目录的名称不能与当前目录中已有的目录或文件同名

rm

删除文件或目录
    使用rm命令要小心,因为文件删除后不能恢复 
    -f  强制删除,忽略不存在的文件,无需提示    
    -r  递归地删除目录下的内容,删除文件夹时必须加此参数

tree 

tree[目录名] 以树状图列出文件目录结构
   tree -d 只显示目录
 

cp

cp   -f  已经存在的文件直接覆盖
     -i  覆盖前提示
     -r 递归复制

mv

  -i  覆盖文件前提示


查看文件内容
   cat     concatenate   , 查看文件内容、创建文件,文件合并、追加文件内容等功能,整体显示
   more    more    分屏显示文件内容分页显示
   grep搜索文本文件名   grep   搜索文本文件内容

cat 
   -b  对非空输出行编号
   -n  对输出的所有行编号

more   
   操作键    功能
   空格键     显示手册页的下一屏 
   Enter键    一次滚动手册页的一行
   b             回滚一屏
   f              前滚一屏
   q             退出

grep

 1.Linux 系统中grep 命令是一种强大的文本搜索工具
   grep允许对文本文件进行模式查找,所谓模式查找,又被称为正则表达式,在就业班详细讲解。
      -n   显示匹配行及行号
      -v   显示不包括匹配文本的所有行(相当于求反)
      -i    忽略大小写
   2.常用的两种模式查找
      ^a  行首,搜索以a开头的行
      ke$ 行尾,搜索以ke结束的行

echo 
     

会在终端显示参数指定的文字,通常会和重定向联合使用。
重定向>和>>
     Linux允许将命令执行结果重定向到一个文件
     将本应显示在终端上的内容 输出/追加到指定文件中
其中
     >表示输出,会覆盖文件原有的内容
     >>表示追加,会将内容追加到已有文件的末尾
ls  -hl > a  把ls显示的信息显示到文件夹中

 

管道 |

Linux允许将一个命令的输出可以通过管道做为另一个命令的输入
可以理解显示生活中的管子,管子的一头塞东西进去,另一头取出来,这里|的左右分为两端,左端塞东西(写),右端取东西(读)
常用的管道命令又:
more :分屏显示内容
grep : 在命令执行结果的基础上查询指定的文本。

远程管理常用命令
关机
shutdown  一分钟之后关闭电脑(不带任何参数)
shutdown 选项 时间  shutdown   关机/重新启动
-r  重新启动
-c 取消关闭
常用命令实例
shutdown -r now  立刻重启
shutdown now      立刻关机
shutdown 20:25    20:25关机
shutdown +10  系统再过十分钟后关机

查看或配置网卡信息  
ifconfig   
ping          
本地回环用于测试网卡是否正常
ifconfig | grep inet   
提示: 一台计算机中可能会有一个物理网卡和多个虚拟网卡,在Linux中物理网卡的名字通常以ensXX表示。
      127.0.0.1 被称为本低回环/环回地址,一般用来测试本机网卡是否正常
远程登陆和复制文件
ssh
在linux中SSh是非常常用的工具,通过SSH客户端我们可以连接到运行了SSh服务器的远程主机上
数据传输时加密的,可以防止信息泄露
数据传输是压缩的,可以提高传输速度
scp
 就是secure copy,在Linux下用来远程拷贝文件的命令
它的格式与ssh基本相同,需要注意的是在指定端口时用的时-P而不是小写的
scp -P port 01.py user@remote:Desktop/01.py //如果后面不是绝对路径,则用户的家目录作为参考路径
scp -r demo user@remote:Desktop   //-r可以传送文件 
scp 这个终端命令只能在Linux或者UNIX系统下使用
如果在Windows中,可以安装PuTTY,使用pscp命令行工具或则安装FileZilla使用FTP进行文件传输

域名是ip地址的别名
域名:例如www.baidu.com
端口号:通过端口号可以找到计算机上运行的应用程序
     SSH服务器的默认端口号是22,如果是默认端口号,在连接的时候可以省略
01 ssh服务器,22
02 Web服务器 80
03 HTTPS  443
04 FTP服务器,21

ssh客户端的简单使用
ssh -p port  user@remoteIP
Windows 下SSH客户端的安装
Putty   http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
XShell  http://xshellcn.com

service iptables stop
ls -l 以列表的形式显示

用户 组用户 其他用户 
权限, 第一个字符如果如果是d表示目录
硬链接,通俗的讲,就是有多少种方式,可以访问到当前目录/文件
            对于文件来说  硬链接数只有一个
            但对于文件夹来说,最少有两个,与当前文件夹下的子目录有关
拥有则,家目录下 文件/目录 的拥有着通常都是当前用户
组,在Linux中,很多时候,会出现组名和用户名相同的情况,后面会讲。
大小
时间
名称

chmod +/- rwx 文件夹|目录 
chmod -rw 01.py
 在终端命令中如果需要争对这个目录而执行终端命令,我们则需要给这个目录可执行权限。 
可读权限  显示目录的内容
可写权限  修改目录的内容

超级用户
Linux系统中的root账号通常用于系统的维护和管理,对操作系统的所有资源具有访问权限
在大多数版本的Linux中,都不推荐直接使用账号登陆系统
在Linux安装过程中,系统会自动创建一个用户账号,而中国默认的用户就称为“标准用户”

sudo
su是substitute user 的缩写,表示使用另一个用户的身份
sudo命令用来以其他身份来执行命令,预设的身份为root
用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码

组管理终端命令
    groupadd 组名     添加组
    groupdel  组名     删除组
    cat /etc/group     确认组信息
    chgrp 组名 文件/目录名     修改文件/目录的所属组  
    chgrp -R 组名 文件/目录名        递归修改文件/目录所属组

创建用户/设置密码/删除用户
useradd -m -g 组  新建用户名       作用:添加新用户s
              -m 自动建立用户家目录
              -g  指定用户所在的组,否则会建立一个和同名的组
passwd 用户 
查看用户信息
id   [用户名]  查看用户UID和GID信息
who  查看当前所有登陆的用户列表
whoami  查看当前登陆用户的账户名

uid(用户ID)  gid(组ID)   组(包含主组和附加组)
 id lisi
 cat -n /etc/passwd  |  grep lisi:  
50 lisi:x:1002:1001: :/home/lisi:
行号  用户名:有密码:uid:gid: :家目录路径:

cat -n /etc/group  |  grep python
python:x:1000:
sudo:x:27:python
cdrom:x:24:python

passwd文件
/etc/passwd文件按存放的是用户的信息,由6个分号组成的7个信息,分别是
1. 用户名
2.密码(x,表示加密的密码)
3.UID(用户标识)
4.GID(组标识)
5. 用户全名或本地账号
6. 家目录
7.登陆使用的Shell,就是登陆之后,使用终端命令,ubuntu默认是dash

who
python tty7              2017-05-10(上一次开机的时间)   09:29(:0)
python pts/18          2018-10-10 02:35(上一次开机的时间) (172.16.140.133)

usermod
usermod 可以用来设置用户的主组/附加组和登陆Shell,命令格式如下:
主组:通常在新建用户时指定,在etc/passwd的第4列GID对应的组
附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限
      提示:设置了用户的附加组之后,需要重新登陆才能生效!

#修改用户的主组(passwd中的GID)
usermod -g 组 用户名
#修改用户的附加组
usermod -G 组 用户名
#修改用户登陆Shell
usermod -s /bin/bash 
指定完/bin/bash路径后,会在/etc/passwd 里面组信息的冒号后面添加/bin/bash,假如没有指定,默认为/bin/dash.
注意:默认使用useradd添加的用户是没有权限使用sudo以及root身份执行命令的,可以使用以下命令,将添加到sudo附加组中
usermod -G sudo 用户名    
sudo usermod -G sudo z hangsan 

which(重要)
/etc/passwd 是用于保存用户信息的文件 ,指的是文件并不能执行。
/usr/bin/passwd     用于修改用户密码的程序 
which 命令可以查看命令所在的位置,例如
 which passwd
      /usr/bin/passwd
 ls -l /usr/bin/passwd          -rwsr-xr-x 1 root root 52256 5 月 4 2017 /usr/bin/passwd
 which ls
 ls -l /usr/bin/ls
 which useradd
 /usr/sbin/useradd

bin 和 sbin
  在Linux中,绝大部分可执行文件都是保存在/bin(binary)是二进制执行文件的目录,主要用于具体应用
  /bin  (binary)是二进制执行文件目录,主要用于具体应用
  /sbin (system binary) 是系统管理员专用的二进制代码存放目录,主要用于系统管理
  /usr/bin (user commands for applicatons)后期安装的一些软件
  /usr/sbin(super user commands for applictions)超级用户的一些管理程序

切换用户
su - 用户名   切换用户,并且切换目录,-可以切换到用户家目录,否则保持位置不变。

su 不接用户名,可以切换到root

chown 修改拥有者               chown 用户名|目录名
chgrp   修改组                     chgrp -R 组名 文件名|目录名
chmod 修改权限                  chmod -R 755  文件名|目录名

目标 
cal     查看当前月的日历  
cal -y   显示一年的日历
date  查看当前的系统时间

磁盘信息
df -h  (disk free) 显示磁盘剩余空间
du -h [目录名]   disk usage 显示目录下的文件大小
       -h 以人性化的方式显示大小

进程信息
ps aux  (process status)查看进程的详细信息
top 动态显示运行中的进程
kill [-9] 进程代号  终止指定代号的进程

参数含义
a  --- 显示终端上的所有进程,包括其他用户的进程
u  ---显示进程的详细状态
x  --- 显示没有控制终端的进程

bash默认使用的shell

其他命令
查找文件
find                find [路径] -name "*.py"  查找指定路径下的扩展名.py的文件,包括子目录
           如果省略路径,表示当前文件夹下查找
           之前学习的通配符,再使用find命令时同时可用
           有关find的高级使用。 
软连接
ln      ln -s 被连接的源文件链接文件           建立文件的软链接,用通俗的方式讲 似于Windows下的快捷方式。
       注意:1. 没有 -s 选项建立的是一个硬链接文件。两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
                 2. 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,任然能够正常使用。
演练目标
   1. 将桌面目录下的01.py移动到 demo/b/c目录下
   2.在桌面目录下新建01.py的软连接 FirstPython
          分别使用相对路径和绝对路径建立FirstPython的软链接
   3.将FirstPython 移动到demo目录下,对比使用相对路径和绝对路径的区别。
   
打包和压缩
tar
软件安装
apt-get

硬链接简介(知道)
在使用ln创建链接时,如果没有-s选项,会创建一个硬链接,而不是软连接

硬链接演练
  1.在~/Desktop/demo目录下建立~/Desktop/demo/b/c/01.py的硬链接01_hard
  2.在使用ls -l查看文件的硬链接数(硬链接--有多少种方式可以访问文件或者目录)
  3.删除 ~/Desktop/demo/b/c/01.py,并使用tree来确认demo目录下的三个链接文件

文件名和文件的数据时分开储存的。
软链接:快捷方式
硬链接:大名和小名的关系


打包压缩
Windows   rar
Mac  zip
Linux tar.gz

tar 是Linux中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,不负责压缩。  
打包文件
ta -cvf 打包文件名.tar  打包的文件/路径。。。
解包文件
tar -xvf 打包文件.tar 
c 生成档案文件,创建打包文件
x 解开档案文件
v 列出归档解档的详细过程,显示进度
f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 

gzip
    tar与gzip命令结合可以使用实现文件打包和压缩
    用gzip压缩tar打包后的文件,其扩展名一般用 xxx.tar.gz
    tar 命令中有一个选项-z 可以调用gzip,从而可以方便的实现压缩和解压缩的功能
    命令格式
        tar -zcvf    打包文件.tar.gz 被压缩的文件/路径
        tar -zxvf    打包文件.tar.gz
        tar -zxcf    打包文件.tar.gz -C目标路径     目录必须存在

bzip2(two)   压缩效果和gzip差不多
    tar 与bzip2命令结合可以使用 
    tar只负责打包,不负责压缩
       用bzip2压缩tar打包后的文件,其扩展名一般用xxx.tar.bz2
    在tar命令中有一个-j可以调用bzip2,从而可以实现压缩和解压缩的功能
   命令格式如下:
        tar -jcvf  打包文件.tar.bz2     被压缩的文件/路径
        tar -jxvf  打包文件.tar.bz2 

apt  advanced packaging tool
安装
sudo apt install 软件包
卸载
sudo apt remove 软件名
更新已安装的包
sudo apt upgrade 

sudo apt install sl
sudo apt install htop   

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页