linux常用命令

文章目录[x]
  1. --help
  2. man
  3. 自动补全
  4. 历史命令
  5. ls
  6. more
  7. mkdir,tree,rmdir,rm
  8. ln
  9. find
  10. cp 拷贝文件
  11. mv 移动文件
  12. tar 归档管理
  13. gzip 文件压缩解压
  14. zip、unzip 文件压缩解压
  15. which 查看命令的位置
  16. whoami 查看当前用户
  17. who 查看登录用户
  18.  exit 退出登录账户
  19. useradd 添加用户账号
  20. passwd 设置用户密码
  21. userdel 删除用户
  22. su 切换用户
  23. 查看有哪些用户组
  24. groupadd、groupdel 添加、删除组账号
  25. usermod 修改用户所在组
  26. 为创建的普通用户添加sudo权限
  27. chmod 修改文件权限
  28. chown 修改文件所有者
  29. chgrp 修改文件所属组
  30. cal  查看当前日历
  31. date 显示或设置时间
  32. ps 查看进程信息
  33. top 动态显示进程
  34. kill 终止进程
  35. reboot、shutdown、init  关机重启
  36. df 检测磁盘空间
  37. du 检测目录所占磁盘空间
  38. ifconfig 查看或配置网卡信息
  39. ping 测试远程主机连通性
  40. vim 编辑器之神
  41. Ubuntu软件安装
  42. linux搭建ftp服务器
  43. get somefile安装ssh
  44. 其他命令
最近打算学python了(因为感觉它什么都能做,上可搞人工智能下可以操作硬件,还可以搭建网站)。然后想在服务器里搞python所以就要学一些linux命令了。下面就做个笔记以后可以忘记了可以看下。

--help

这个其实不算一个命令,主要是加在命令的后面,可以查看该命令的帮助比如:ls --help

man

man也是一个查看帮助的指令,可以在man后面加上命令,即可查看命令的一些帮助。 man有以下快捷键:

功能键 功能
空格键 显示手册页的下一屏
Enter键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出man命令
h 列出所有功能键
/word 搜索word字符串

自动补全

其实就是你在输入文件名或路径的时候可以先输入前面几个字符,然后再按一下tab建就会自动帮你补全(好像命令也可以,当然要注意你前面那几个字符只能有一个结果,如果有多个文件和你前面的关键字重的话,就不会补全,你可以按两下,它会让你自己选择)

历史命令

我们只需要按下方向键的上下就可以查看自己的历史命令。输入history可以查看所有的历史命令

ls

这个命令用的挺频繁的,主要是显示当前目录下的文件或者文件夹(dir虽然也可以显示,但是ls是可以用不同的颜色来区分文件和文件夹,这个看起来更加的方便)。ls有下面几个参数

加上-a可以显示隐藏文件
加上-l就是依次显示每个文件夹的详细信息
加上-lh可以在显示详细信息的同时文件大小会按合适的单位显示

详细信息说明
(d表示文件夹 -表示文件) 权限 文件树 文件的用户 用户组 文件大小

ls还支持正则表达式:

ls *.txt 显示以txt结尾的所有文件,也可以使用?表示任意一个字符,只能表示一位
ls *.t[xn]t 表示只能从中括号里面选一个
ls *.t[a-f]t 这里表示a到f中的一个 \*a表示转义字符

还可以把内容输入到某个文件中

ls > a.txt 表示把显示的内容输入到a.txt文件中(会覆盖原文件)
ls >> a.txt 表示把显示的内容添加到a.txt文件中 从后面追加

cd :切换目录
pwd :显示当前目录的路径(绝对路径)
cd .. :回到上一个路径 可以../..可以跳两层 cd -是跳到上一个路径(不是上一层)
clear :清屏(不是真的清屏,只是刚好让文字显示在最上面那一行
touch word.txt 创建一个文件

more

这个是分屏显示的命令,可以让内容输出在一个屏幕上,多的部分不显示。

比如:more word.txt可以显示文本内容。

more一般用于和其他命令结合使用,用于分屏显示信息。这里我们需要说一下管道 |。比如:ls -alh | more 这个|表示管道 就是把东西放到管道里面,more可以从管道里面取东西,结就是把ls的内容分屏显示。

gedit word.txt 可以编辑文本文件

mkdir,tree,rmdir,rm

mkdir是创建文件的命令。比如:mkdir test创建一个文件夹。如果需要创建一个嵌套的文件夹需要加上-p 参数

tree主要用于显示目录结构的,可以让当前目录以树的方式来显示。注意:这个命令需要安装tree,安装方法:sudo apt install tree

rmdir是删除文件夹的,不能删除文件。

rm是删除命令,它什么都能删,所以非常强大。注意这个删除的东西不会放到回收站里面。下面是它的几个常见的参数:(一般-rf配合使用,强制删除任何东西)

-i 是提示你是否删除
-f 强制删除 无需提示
-r这个是递归删除(就是删除文件或者文件夹,不管里面有什么)

ln

ln的主要作用就是建立链接文件,和windows下的快捷方式差不多,ln包括软链接和硬链接,如果源文件删除后软链接也会消失,硬链接则不会。如果要建立硬链接的话需要加-s参数。(我们所有的文件名其实都是硬链接,只是默认只有一个硬链接而已)

使用方法:ln 源文件 链接文件 

cat:cat主要是显示文件内容,同时还可以合并多个文件如:cat 01.txt 02.txt > a.txt

grep: 搜索文件内容

grep -n 'a' a.txt查找所有含有a的字符 在那个txt文件里面

-n就是显示这个字符所在的行号
-i 就是忽略大小写
-v 就是除了这个字符,其他的都显示

find

find主要用来查找文件,它的功能非常强大,可以搜索符合各种条件的文件,常见用法:

命令 含义
find ./ -name test.sh 查找当前目录下所有名为test.sh的文件
find ./ -name '*.sh' 查找当前目录下所有后缀为.sh的文件
find ./ -name "[A-Z]*" 查找当前目录下所有以大写字母开头的文件
find /tmp -size 2M 查找在/tmp 目录下等于2M的文件
find /tmp -size +2M 查找在/tmp 目录下大于2M的文件
find /tmp -size -2M 查找在/tmp 目录下小于2M的文件
find ./ -size +4k -size -5M 查找当前目录下大于4k,小于5M的文件
find ./ -perm 0777 查找当前目录下权限为 777 的文件或目录

cp 拷贝文件

这个就不多解释了,直接说一下常用的参数

选项 含义
-a 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。
-f 已经存在的目标文件而不提示
-i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认
-r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。
-v 显示拷贝进度

mv 移动文件

选项 含义
-f 禁止交互式操作,如有覆盖也不会给出提示
-i 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件
-v 显示移动进度

tar 归档管理

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。相当于压缩包。tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

参数 含义
-c 生成档案文件,创建打包文件
-v 列出归档解档的详细过程,显示进度
-f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
-t 列出档案中包含的文件
-x 解开档案文件

注意:除了f需要放在参数的最后,其它参数的顺序任意。

使用格式:tar [参数] 打包文件名 文件 

比如我们打包一个文件夹 tar -cvf test.tar 压缩的文件夹

查看文件内容tar -tf test.tar 解压该文件:tar -xvf test.tar

gzip 文件压缩解压

tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。

使用格式:gzip [选项] 被压缩文件

选项 含义
-d 解压
-r 压缩所有子目录

比如:压缩:gzip -r test.tar test.tar.gz  解压:gzip -d  test.tar.gz 也是压缩:gzip test.tar

tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。

比如:压缩:tar -zcvf test.tar.gz 文件夹解压:tar -zxvf test.tar.gz 

zip、unzip 文件压缩解压

压缩文件:zip [-r] 目标文件(不需要扩展名) 源文件

解压文件:unzip -d 解压后目录文件 压缩文件

which 查看命令的位置

比如:which ls 可以查看ls文件所在的路径

whoami 查看当前用户

whoami该命令用户查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。

我们如果需要切换用户可以使用su 用户名来进行切换。

who 查看登录用户

who命令用于查看当前所有登录系统的用户信息。

选项 含义
-m或am I 只显示运行who命令的用户名、登录终端和登录时间
-q或--count 只显示用户的登录账号和登录用户的数量
-u或--heading 显示列标题

 exit 退出登录账户

如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号。

useradd 添加用户账号

在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。

useradd命令的使用格式如下:useradd [参数] 新建用户账号

参数 含义
-d 指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户名同名目录为主目录
-m 自动建立目录
-g 指定组名称

相关说明:

  • Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
  • 每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;
  • 用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;
  • 如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
命令 含义
useradd -d /home/abc abc -m 创建abc用户,如果/home/abc目录不存在,就自动创建这个目录,同时用户属于abc组
useradd -d /home/a a -g test -m 创建一个用户名字叫a,主目录在/home/a,如果主目录不存在,就自动创建主目录,同时用户属于test组
cat /etc/passwd 查看系统当前用户名

passwd 设置用户密码

在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。

比如修改xiaoyou的密码: sudo passwd xiaoyou

userdel 删除用户

命令 含义
userdel abc(用户名) 删除abc用户,但不会自动删除用户的主目录
userdel -r abc(用户名) 删除用户,同时删除用户的主目录

su 切换用户

注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加“sudo”即可。sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性。

命令 含义
su 切换到root用户
su root 切换到root用户
su - 切换到root用户,同时切换目录到/root
su - root 切换到root用户,同时切换目录到/root
su 普通用户 切换到普通用户
su - 普通用户 切换到普通用户,同时切换普通用户所在的目录

查看有哪些用户组

方法1:cat /etc/group

方法2:groupmod +三次tab键

groupadd、groupdel 添加、删除组账号

用法:添加组账号:groupadd 新建组账号删除组账号:groupdel 组账号

usermod 修改用户所在组

使用方法:usermod -g 用户组 用户名

查看用户在哪些组:groups 用户名

-g用来制定这个用户默认的用户组
-G一般配合'-a'来完成向其它组添加

为创建的普通用户添加sudo权限

新创建的用户,默认不能sudo,需要进行以下操作

sudo usermod -a -G adm 用户名
sudo usermod -a -G sudo 用户名

chmod 修改文件权限

chmod 修改文件权限有两种使用格式:字母法与数字法。

字母法:chmod u/g/o/a +/-/= rwx 文件

[ u/g/o/a ] 含义
u user 表示该文件的所有者
g group 表示与该文件的所有者属于同一组( group )者,即用户组
o other 表示其他以外的人
a all 表示这三者皆是
[ +-= ] 含义
+ 增加权限
- 撤销权限
= 设定权限
rwx 含义
r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。

比如给文件拥有者添加执行的权限:chmod u+x test.txt

数字法:“rwx” 这些权限也可以用数字来代替

字母 说明
r 读取权限,数字代号为 "4"
w 写入权限,数字代号为 "2"
x 执行权限,数字代号为 "1"
- 不具任何权限,数字代号为 "0"

如执行:chmod u=rwx,g=rx,o=r filename就等同于:chmod u=7,g=5,o=4 filename

chmod 751 file
  • 文件所有者:读、写、执行权限
  • 同组用户:读、执行的权限
  • 其它用户:执行的权限

注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。 如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限

chown 修改文件所有者

用法:chown 用户名 文件名

chgrp 修改文件所属组

用法:sudo chgrp 用户组名 文件名

cal  查看当前日历

cal命令用于查看当前日历,-y显示整年日历

date 显示或设置时间

设置时间格式(需要管理员权限):date [MMDDhhmm[[CC]YY][.ss]] +format

CC为年前两位yy为年的后两位,前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒。如: date 010203042016.55。

显示时间格式(date '+%y,%m,%d,%H,%M,%S'):

format格式 含义
%Y,%y
%m
%d
%H
%M
%S

ps 查看进程信息

进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:

选项 含义
-a 显示终端上的所有进程,包括其他用户的进程
-u 显示进程的详细状态
-x 显示没有控制终端的进程
-w 显示加宽,以便显示更多的信息
-r 只显示正在运行的进程

top 动态显示进程

top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。可以在使用top命令时加上-d 来指定显示信息更新的时间间隔。

在top命令执行后,可以按下按键得到对显示的结果进行排序:

按键 含义
M 根据内存使用量来排序
P 根据CPU占有率来排序
T 根据进程运行时间的长短来排序
U 可以根据后面输入的用户名来筛选进程
K 可以根据后面输入的PID来杀死进程。
q 退出
h 获得帮助

kill 终止进程

kill命令指定进程号的进程,需要配合 ps 使用。

使用格式:kill [-signal] pid

信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束

reboot、shutdown、init  关机重启

命令 含义
reboot 重新启动操作系统
shutdown –r now 重新启动操作系统,shutdown会给别的用户提示
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 20:25 系统在今天的20:25 会关机
shutdown -h +10 系统再过十分钟后自动关机
init 0 关机
init 6 重启

df 检测磁盘空间

df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。

选项 含义
-a 显示所有文件系统的磁盘使用情况
-m 以1024字节为单位显示
-t 显示各指定文件系统的磁盘空间使用情况
-T 显示文件系统

du 检测目录所占磁盘空间

du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。

du命令的使用格式如下: du [选项] 目录或文件名

选项 含义
-a 递归显示指定目录中各文件和子目录中文件占用的数据块
-s 显示指定文件或目录占用的数据块
-b 以字节为单位显示磁盘占用情况
-l 计算所有文件大小,对硬链接文件计算多次

ifconfig 查看或配置网卡信息

我们只是敲:ifconfig,它会显示所有网卡的信息:

ping 测试远程主机连通性

ping后面加ip,域名都可以

vim 编辑器之神

Vi有三种基本工作模式: 
+ 命令模式
+ 文本输入模式
+ 末行模式。

任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;

在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。

末行模式也称ex转义模式。在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。

进入插入模式:

i: 插入光标前一个字符

I: 插入行首

a: 插入光标后一个字符

A: 插入行未

o: 向下新开一行,插入行首

O: 向上新开一行,插入行首

进入命令模式:

h: 左移

j: 下移

k: 上移

l: 右移

M: 光标移动到中间行

L: 光标移动到屏幕最后一行行首

G: 移动到指定行,行号 -G

w: 向后一次移动一个字

b: 向前一次移动一个字

{: 按段移动,上移

}: 按段移动,下移

Ctr-d: 向下翻半屏

Ctr-u: 向上翻半屏

Ctr-f: 向下翻一屏

Ctr-b: 向上翻一屏

gg: 光标移动文件开头

G: 光标移动到文件末尾

删除命令:

x: 删除光标后一个字符,相当于 Del

X: 删除光标前一个字符,相当于 Backspace

dd: 删除光标所在行,n dd 删除指定的行数 D: 删除光标后本行所有内容,包含光标所在字符

d0: 删除光标前本行所有内容,不包含光标所在字符

dw: 删除光标开始位置的字,包含光标所在字符

撤销命令:

u: 一步一步撤销

Ctr-r: 反撤销

重复命令:

.: 重复上一次操作的命令

文本行移动:

>>: 文本行右移

<<: 文本行左移

复制粘贴:

yy: 复制当前行,n yy 复制 n 行

p: 在光标所在位置向下新开辟一行,粘贴

可视模式:

v: 按字符移动,选中文本

V: 按行移动,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除,复制,左右移动

替换操作:

r: 替换当前字符

R: 替换当前行光标后的字符

查找命令:

/: str查找
n: 下一个
N:上一个

替换命令:把abc全部替换成123

末行模式下,将光标所在行的abc替换成123:%s/abc/123/g

末行模式下,将第一行至第10行之间的abc替换成123:1, 10s/abc/123/g

vim里执行 shell 下命令:末行模式里输入!,后面跟命令

Ubuntu软件安装

我们先备份Ubuntu的默认源地址:sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

至于更新源服务器地址,大家自行百度解决。

做完此步骤之后,就可以进行apt-get install下载了

软件操作相关命令

sudo apt-get update 更新源

sudo apt-get install package 安装包

sudo apt-get remove package 删除包

sudo apt-cache search package 搜索软件包

sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等

sudo apt-get install package --reinstall 重新安装包

sudo apt-get -f install 修复安装

sudo apt-get remove package --purge 删除包,包括配置文件等

sudo apt-get build-dep package 安装相关的编译环境

sudo apt-get upgrade 更新已安装的包

sudo apt-get dist-upgrade 升级系统

sudo apt-cache depends package 了解使用该包依赖那些包

sudo apt-cache rdepends package 查看该包被哪些包依赖

sudo apt-get source package 下载该包的源代码

sudo apt-get clean && sudo apt-get autoclean 清理无用的包

sudo apt-get check 检查是否有损坏的依赖

linux搭建ftp服务器

1.安装vsftpd服务器 sudo apt-get install vsftpd

2.配置vsftpd.conf文件 sudo vi /etc/vsftpd.conf

3.测试上传功能,登陆ftp服务器

ftp  IP

4.上传命令,可以把文件上传到ftp服务器
put somefile

5.下载命令,可以把ftp服务器上的文件下载到本地

get somefile安装ssh

1.安装ssh服务器
sudo apt-get install openssh-server

2.远程登录ssh 用户名@IP

其他命令

列出文件系统磁盘情况:df -h

磁盘分区表操作:fdisk

格式化文件系统 :mkfs

文件系统检查 :fsck

挂载/卸载:mount / umount

显示/操作网络配置(旧):ifconfig

查看网络服务和端口 :netstat

将进程置于后台运行:在命令后面加一个&或者输入命令后按ctrl+z 

查询后台进程:jobs

让程序继续后台运行:bg

将后台进程置于前台:fg

查看系统活动信息: sar

查看内存使用情况:free

查看进程使用内存状况:pmap

报告设备CPU和I/O统计信息 : iostat

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注

Title - Artist
0:00