定制型网站建设平台腾讯云win建设网站

当前位置: 首页 > news >正文

定制型网站建设平台,腾讯云win建设网站,湖南做网站 联系磐石网络,wordpress新版本编辑器本文介绍了一些Linux的常用命令。为了便于快速检索命令位置#xff0c;文章二级标题都以“命令#xff1a;命令的作用”展示#xff0c;有些命令会先介绍命令的几个常用参数#xff0c;然后结合具体的操作展示命令的使用。为了便于记忆#xff0c;也会提到命令是由哪些短语…本文介绍了一些Linux的常用命令。为了便于快速检索命令位置文章二级标题都以“命令命令的作用”展示有些命令会先介绍命令的几个常用参数然后结合具体的操作展示命令的使用。为了便于记忆也会提到命令是由哪些短语或单词简写而来。本文的主要内容如下第一、二章 介绍了用户管理和系统管理常用命令。第三、四章 简要介绍Linux文件是什么并且结合相关命令介绍输入输出和文件操作。第五章 补充了几个命令比如说查看命令手册的man命令、搜索命令grep命令等。注像一些常用的文本编辑和查看命令如vi、vim、more、less等因为较为复杂受于篇幅限制就不再详细说明可以使用man命令查看对应的命令手册或者搜索相关的介绍。同时为了页面的简洁此处不再附目录索引可以使用侧边栏的目录进行导航。一、用户管理1. id显示本用户信息id [用户名(缺省情况下为当前用户)]2. adduser建立新用户sudo adduser 用户名# 也可以是以下命令 sudo useradd 用户名可以通过以下命令查看刚刚添加的用户cat /etc/passwd3. passwd为用户设置密码# 更改当前用户密码 passwd# 更改其他用户密码需要有管理员权限 passwd 用户名注释echo $?是输出上一命令返回值0表示上一命令正常结束注意为了安全设置密码的时候所有的输入都不会在屏幕上输出。4. su切换用户su 是switch user 的简写# 切换到某用户的命令如下 su 用户名5. sudo以其他身份执行命令sudo意为switch user dosudo默认使用root的身份执行命令sudo 命令# 也可以使用指定的用户身份去执行命令但是要注意权限问题 sudo -u 用户 命令6. userdel删除用户userdel 是 user delete 的简写sudo userdel 用户名# 也可以使用以下命令 sudo deluser 用户名7. usermod修改用户配置usermod 是 user modefy 的简写sudo usermod 对应的参数 用户名8. 组操作不同的用户组也有类似的操作命令如groupadd、groupdel、groupmod分布对应新增组、删除组、修改组设置类似于用户操作此处不再一一列举。二、系统管理1. uname显示系统信息uname -a2. date查看/设置 系统的 时间/日期date3. w查看当前登录系统的用户信息w是who的简写。w# 也可以使用who who4. last查看登录信息last5. alias设置命令别名仅本次登录有效# alias命令相关示例如下# 列出所有别名设置 alias# 设置别名 alias 别名命令# 删除别名 unalias 别名# 如果想要每次登录都生效需要修改 .bashrc 文件# 在别名不与系统命令冲突的情况下还可以对一组命令设置别名

chp不是系统命令可用type命令检测该命令是否存在下面的单引号之间的命令意味

切换到当前用户目录home打印出当前工作目录输出“123”

alias chpcd ~;pwd;echo 123!!!6. export显示/设置 系统变量# 显示环境变量-p参数表示显示所有变量 export -p# 设置环境变量 export 变量名称变量值# 屏蔽某变量变量被屏蔽不会输出到后续命令的执行环境中但是并未被删除 export -n 变量名称7. free查看内存状态# 默认是以KB为单位 free# 以适合人们human查看的方式 free -h# 以Byte为单位查看内存 free -b# 以KB为单位查看内存 free -k# 以GB为单位查看内存 free -g8. df查看磁盘与文件系统使用状态df是disk free的简写df# 可以使用以下命令查看磁盘大小并输出文件系统类型Type

参数 -T 表示输出文件系统类型

参数 -h 表示human-readable即以人们易读的方式输出

df -Th9. top显示与管理执行中的程序top10. ps查看程序状态ps是process status的简写ps# 输出系统中运行的所有程序信息

可以使用man命令来详细查看各个参数的作用

ps -axu# 若果想要以树状图显示程序状态还可以使用以下命令

pstree是process status tree的简写

pstree11. kill向指定程序发送信息/结束进程# 查看所有的编号与信息对应表 kill -l# 查看指定编号对应信息 kill -l 编号# 向进程发送指定信号进程ID可通过ps命令查看 kill -s 编号 进程ID

或者直接写为

kill -编号 进程ID12. exit退出当前shellexit13. sleep休眠/暂停执行命令sleep 时间与单位#休眠10s并在休眠结束后输出“end”。 表示程序在后台运行 (sleep 10s; echo end) 14. shutdown关机与重启# 重启 sudo reboot# 关机 sudo halt -p# 立即关机 shutdown -h now# 立即重启 shut down -r now # 晚上11点关机 shutdown -h 22:00# 2分钟后关机并发送给登录的用户警告信息 shutdown 2 we will shutdown this computer# 10秒后关机 shutdown -t 1015. pwd显示工作目录pwd为print working directory 的简写pwd16. whereis查找命令的位置源代码文件、二进制文件、man手册# 首先介绍一下whereis命令的参数

-b

只查找二进制文件

-m

只查找帮助文件

-s

只查找帮助文件

-l

列出查找的路径# 具体用法

whereis [-参数] 命令17. which在环境变量$PATH设定目录中查找符合条件的命令# which可以在环境变量中查找符合条件的命令不带参数时返回首个找到的命令路径

有点类似于whereis

如果加上参数 -a 可以返回所有找到的命令路径18. type查看命令的类型三、输入输出操作在介绍输入输出和文件操作之前有这么一种说法“linux中一切皆文件”我简单理解为所有的东西都是按照文件的方式去组织的对文件的操作也都是通过文件描述符标识文件的一个整数来进行的。Linux中的文件可以分为7类普通文件文件符号“-”、目录文件文件符号“d”directory、链接文件文件符号“l”link、块设备文件符号“b”block、字符设备文件符号“c”character、管道文件文件符号“p”pipe、套接字文件文件符号“s”socket。文件的类别可以通过ls命令查看在启动一个连接时程序默认会打开3个I/O文件标准输入文件stdin、标准输出文件stdout、标准错误文件stderr其文件描述符是分别是0、1、2。在一条命令的执行过程中一般是用户从键盘或其他设备通过标准输入文件进行输入命令执行完毕后通过标准输出文件输出到设备如果存在错误则会通过标准错误文件输出到设备。在一般的情况下都是从终端进行输入输出的。1. 重定向重定向 可以分为 输入重定向 和 输出重定向 。输入重定向 是将命令的输入从 标准输入 重定向为 指定的文件 可以使用 或者 重定向标准输入。输入重定向较少使用因此仅举一个简单的例子输出重定向 是将命令的 标准输出 或 标准错误 重定向为 指定的文件可以使用 、 、1、 2、 1、 2重定向标准输出与标准错误。# 输出重定向符 的使用# 如果目标文件不存在会创建该文件如果存在会覆盖原文件内容

将标准输入重定向到文件

命令 指定文件# 输出重定向符 的使用# 如果目标文件不存在会创建该文件如果存在会向原文件中追加内容

将标准输入重定向到文件

命令 指定文件# 输出重定向符 1 的使用# 如果目标文件不存在会创建该文件如果存在会覆盖原文件内容

将标准输入重定向到文件

命令 1 指定文件# 输出重定向符 2 的使用# 如果目标文件不存在会创建该文件如果存在会覆盖原文件内容

将标准错误重定向到文件

命令 2 指定文件可以将标准输出和标准错误分别输出。也可以将标准输出和标准错误重定向到同一个文件使用 21 将标准错误重定向到标准输出再将标准输出重定向到文件命令 1 目标文件 21# 输出重定向符 1 和 2 也是向文件中追加内容 命令 1 指定文件 命令 2 指定文件# 将标准输出和标准错误分别向不同文件追加 命令 1 指定文件1 2 指定文件2# 1 和 2可以混用 命令 1 指定文件1 2 指定文件2# 1 和 2也可以混用 命令 1 指定文件1 2 指定文件2# 向同一文件追加标准输出与标准错误的方式与前面一样使用21将标准错误重定向到标准输出即可 命令 1 指定文件 21# Linux提供了一个文件 /dev/null 输出到这个文件的所有信息都会被丢弃就像一个很大的垃圾桶

如果程序有标准输出或者标准错误输出可以选择将其重定向到该文件。2. 管道 管道操作符为 | 。可以将管道理解为输出输出重定向即将前一个命令的标准输出重定向到后一个命令的标准输入。简单地说就是把前面命令的输出作为后面命令的输入。比如希望找到当前进程中跟root有关的进程可以使用ps命令查看所有进程再使用grep命令对其进行筛选。# 找到当前跟root有关的进程

ps axu | grep root3. tee从标准输入读取并输出到标准输出和文件有时想要既在屏幕终端进行输出又把输出保存到文件中这个时候tee命令就派上用场了。tee可以从标准输入设备读取输入内容同时将内容输出到屏幕终端和文件。# 简要介绍tee的一些参数

-a

默认情况下如果如果目的文件存在是会覆盖该文件内容的

加上 -a append的意思参数表明将输出信息追加到该文件4. cat将文件连接并输出到标准输出设备常用作查看文件内容cat是concatenate连接的简写# cat 默认向屏幕输出文件的内容

cat 文件名# 输出内容并标出行号 cat -n 文件名# 连续输出若干文件的内容 cat -n 文件名1 文件名2 文件名3 …..# 输出若干文件内容输出目标为另一个文件

若目标文件不存在则创建并输出若目标文件存在则覆盖目标文件

cat 文件名1 文件名2 目标文件

若目标文件不存在则创建并输出若目标文件存在则向目标文件后追加新内容

cat 文件名1 文件名2 目标文件5. \ 输入时换行有时在命令行输入的内容过长或者为了便于观察希望能在输入时换行这个时候就可以使用 \ 了。四、文件操作1. ls列出目录的内容ls是list的简写# 首先介绍一下ls命令的参数

-a

显示所有的文件和目录包括以 . 开头的文件

-l

每行仅显示一个文件或目录名称分别显示

权限标识、硬链接数目、拥有者、组名称、文件或目录大小、最后更改时间

-F

分类显示可执行文件后加* 目录后加/ Socket后加 符号链接后加 管道名称后加|

-h

human readable 以便于人查看的方式显示目录大小

-R

递归处理将子目录名称也一并列出

-S

按照文件和目录的大小排序-s 以块为单位显示文件或目录的大小

-t

按照文件的变更时间排序

-X

以文件或目录的扩展名排序

-r

反向排序用相反的顺序列出文件和目录的名称# 列出当前路径下的文件和目录

ls# 列出当前路径下的所有文件和目录 ls -a# 列出当前路径下的所有文件和目录及其详细信息 ls -al# 列出指定目录下的文件以人们易读的方式显示其详细信息并分类显示 ls -lhF 指定目录# 递归列出当前目录中的所有内容包括子文件夹中的内容 ls -lR# 按照文件的大小排序显示文件夹中的内容 ls -lS ls -lSr# 按照最后修改时间列出当前目录中的文件 ls -lt ls -ltr2. cd切换目录cd是change directory的简写# 切换到用户目录 cd

切换到用户目录也可以用

cd ~# 切换到指定目录 cd 指定目录路径

切换到的目录含有空格可以使用引号引起来

cd 指定目录路径# 切换到上级目录 cd ../

上述命令可简写为

cd ..3. mkdir建立目录文件夹mkdir是make directories的简写# 首先介绍一下ls命令的参数

-p

parents如果要建立的目录上层目录未建立加上该参数会连同上层目录一起建立

-m 目录属性

建立目录的时候为目录设置权限# 在目录下建立子目录

mkdir 目录# 在当前目录下建立子目录授予所有成员读写执行权限 mkdir -m 权限 目录4. find查找文件/目录# 列出某路径下的所有目录和文件默认为当前文件夹 find [路径]# 查找某目录下以te开头的文件/目录 find [路径] -name ‘te*’# 查找某目录下以t结尾的文件/目录 find [路径] -name ‘*t’# 可以使用 -o或者-a 连接不同的判断条件-o or满足一个条件即可-aand满足所有条件

查找某目录下以te开头或者以t结尾的文件/目录

find [路径] -name ‘te*’ -o -name ‘*t’# 查找某路径下形如a??的字符其中一个“”代表任意一个字符 find [路径] -name a??# 查找指定时间内变动过的文件 下面的““表示指定时间之前“-“表示指定时间之后

可以加上-ls参数列出文件/目录的详细信息

find [路径] -mmin [或-]分钟 find [路径] -mtime [或-]天数5. locate一种高效快速的查找文件方式locate是使用数据库查找文件的一个命令具有更高的速度和效率但是实时性较差取决于数据库更新的频率。在最开始的时候数据库可能并不存在因此需要使用updatedb命令更新数据库。如果创建文件删除文件并且没有更新数据库的情况下也是找不到对应文件的查到的路径不存在。# 首先介绍一下locate命令的参数

-i

ignore-case忽略大小写

-e

existing查询时会确认文件是否存在如果存在才输出6. cp复制文件/文件夹目录cp为copy的简写# 将文件1复制为某路径下的文件2

cp 文件1 某路径下的某文件# 将文件1复制到某文件夹 cp 文件1 某文件夹的目录# 将某文件夹 复制到另一个文件夹中

如果目的文件夹存在则将该文件夹复制到对应文件夹中作为其子文件夹

如果目的文件夹不存在则创建该文件夹并将该文件夹中的内容复制到新创建的文件夹中

cp -r 文件夹 目的文件夹7. scp在网络上不同主机间 安全地复制文件OpenSSH secure file copy可以在两台主机之间进行文件的拷贝。它使用ssh进行安全的拷贝并且需要通过密码验证。# scp命令的参数有很多这里只是简要介绍部分

-P

指定端口号默认为22号端口

-r

递归复制文件夹中的内容# scp命令的格式为

scp -P 端口号默认为22 源文件 … 目的文件# 将本地文件复制到远程主机 scp -P 端口号默认为22 本地的文件 远程主机用户名远程主机IP:路径 比如scp -P 22 /home/ubuntu/myfiles auser10.15.65.62:/home/auser/store# 将远程主机的文件复制到本地只需交换源文件和目的文件的位置即可 scp -P 端口号默认为22 远程主机用户名远程主机IP:路径 本地的文件 比如scp -P 22 auser10.15.65.62:/home/auser/store /home/ubuntu/myfiles在windows的命令行中复制文件和文件夹也是同样的操作8. mv移动或重命名现有目录/文件mv为move的简写# 首先介绍一下mv命令的参数

-f

force强行移动或重命名即目的文件/目录名与现有的文件/目录重复的情况下会强行覆盖原有文件

-b

bakup如果需要覆盖原有文件则先将源文件备份备份名称默认加上~后缀

-S 后缀

配合-b使用指定备份文件所要附加的后缀

-v

执行时输出相关信息# 重命名某目录/文件

mv 源目录/文件 目的目录/文件# 移动重命名 mv 源目录/文件 目的目录/文件# 将当前目录下的abc移动到dir1下并重命名为a.txt以默认备份方式备份a.txt mv -b abc dir1/a.txt# 将当前目录下的abc移动到dir1下并重命名为a.txt备份原有的文件添加.bakup后缀 mv -b -S .bakup abc dir1/a.txt9. rm删除文件或目录rm为remove的简写# 首先介绍一下rm命令的参数

-i

删除文件或目录之前询问用户

-f

force强制删除目录或文件

-r 或者是-R

递归处理删除指定目录及所有子目录和子文件

-v

执行时输出相关信息#################### 执行删除操作时一定要万分谨慎 ##################### 删除当前文件夹下的某文件

rm 文件名# 删除某个目录删除前询问文件是否需要被删除可进行选择性删除 rm -ri 目录# 强制删除某个目录及其子目录和子文件 rm -rf 目录谨慎使用rm命令五、其他1. man查询命令手册man为manual 的简写# 查找某命令的手册以查看相关操作 man 命令比如man ls 点击q退出q的意思的quit2. grep查找文件中符合条件的字符串grep是Globally search a Regular Expression and Print的简写grep [参数] 样式 [文件或目录(如果缺省则表示从标准输入设备输入)]# 首先介绍一些参数的使用

-A行数

after显示对应行之后的若干行

-B行数

before显示对应行之前的若干行

-d 操作

该参数指定了对于目录的处理方式

这里的操作是read当作字符串处理、recurse递归处理、skip跳过。

默认情况下是read

-d recurse 也可以写作 -r

-i

–ignore-case,表示忽略大小写

-l

只列出符合条件的文件名

-L

列出不符合条件的文件名

-n

   列出对应的行号

-w

查找完全符合样式的单词如查找int原本可以被查找到的interesting在加了-w之后不会被查出# 如果某一字符为任意字符可以使用.替代

比如要查找aaa,aba,aca,ada,……可以使用 a.a 来进行匹配

如果要查找带有字符 . 的文件需要使用 . 替代可以查看下面图片示例。# 在当前目录的所有后缀为.c文件中查找包含“#include”的所有行并显示行号

grep -n #include *.c# 在当前目录的所有文件中查找包含“intf”行及该行之前的1行和之后的2行并显示行号 grep -n -B1 -A2 int *# 查找某指定路径中的所有文件包括子目录中的文件找到含有‘sleep’的文件只输出文件名 grep -lr sleep 指定路径# 通过使用管道可以把前一命令的输出变成后一命令是输入管道符为 |

由此可以从某程序的输出结果中找到满足某条件的行并输出

该方法很适合从大量的输出中筛选出所要的信息

比如找到/home/ubuntu/下某一身份用户同时具有读、写、执行权限的文件包含rwx

la -al /home/ubuntu/ | grep rwx

也可以从某一文件中找到包含int这个单词的行# 找到某一目录下所有的.c文件并将其结果保存到result.txt文件中

当然使用之前用过的find命令“find /home/ubuntu/ -name .c”是完全可以的。

find /home/ubuntu/ | grep .c result.txt# 输出当前跟root有关的所有进程信息 ps aux3. jobs查看作业状态test.o为一个每隔一秒输出一个数字的程序在执行程序时可以使用Ctrl Z 暂停程序执行。3. bg后台执行程序bg为background的简写# 使用bg 工作编号 的格式将任务放到后台执行 bg 作业编号#因为这个程序是有输出的所以依然会向屏幕终端输出信息但是程序确实是在后台执行的。4. fg前台执行程序fg为foreground的简写# 使用fg 工作编号 的格式将任务放到后台执行 fg 作业编号如有不当或错误之处恳请您的指正谢谢