常用的Linux命令

本文的核心内容:常用的Linux命令。【基于CentOS6.5/7.0】


 

Linux初始化页面:

1:用户身份

UID是Linux操作系统用户的标识,具有唯一性。

Linux操作系统中有以下用户身份:

1)管理员UID为0:系统的管理员用户。

2)系统用户UID为1-999:服务程序由系统用户负责运行。

3)普通用户UID从1000开始:由管理员创建的用于日常工作的用户。

注意:用户的基本信息保存在/etc/password

useradd [选项] 用户名
useradd 命令用于创建新的用户 用户的加目录默认放在/home目录中。
-d 指定用的家目录
-e 指定用户的到期时间,格式为YYYY-MM-DD
-u 指定用户的默认UID
-g 指定一个初始的用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-s 指定用户的默认Shell解释器

groupadd [选项] 群组名
groupadd 创建用户组

usermod [选项] 用户名  
usermod  用于更改用户属性
-d -m  重新指定用户的家目录
-e -g -G -u -s 同上
-L 锁定用户,禁止登陆
-U 解锁用户,允许登陆

password [选项][用户名]
password命令用于修改用户密码、过期时间、认真信息

userdel
userdel 命令用于删除用户
—f 强制删除
-r 同时删除用户及其家目录 /home/xxxx

su elsearch  #切换到elsearch用户


sudo
sudo 命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。

 

2:关机、重启操作系统

poweroff        关闭系统  【root管理员】

shutdown -h now 关闭系统  

reboot          重启  【root管理员】

shutdown -r now 重启 

 

3:目录切换/文件目录列表

pwd                      查看当前目录

cd                       移动到宿主目录  root移动到~ ,普通用户移动到 /usr/xxx用户
cd   /xxx/xxx            移动到指定目录
cd   ..                  返回上级目录

ls                       查看当前目录下的所有文件及目录
ls   -l                  查看详细信息  【简写ll】
ls   -a                  查看所有文件及目录  【包含隐藏文件】

 

4:文件权限与归属

Linux文件类型:-普通文件、d目录、l连接、b块设备文件、c字符设备文件、p管道文件。

r可读     4

w可写   2

x执行    1

若某文件的权限为7,则代码可读可写。

chmod 
chmod 命令给用户授予某个文件的读写执行权
chmod 777 file

 

5:文件目录操作命令

touch 'filename'                 创建空白文件

touch  -d   ‘time’  'filename'   设置文件的时间【修改“读取时间”(atime);修改“修改时间”(mtime)】

mkdir   /xxx                     创建目录
mkdir   -p  /xxx/xxx             递归创建出具有嵌套叠层关系的文件目录。

cp  源文件 目标文件               用于复制文件或目录

mv  [源文件|源路径]  [目标路径|目标文件名]        用于剪切文件或将文件重命名

rm   [文件|目录]                  用于删除文件或目录
rm  -rf    [文件|目录]            强制递归删除文件及目录

file  [文件]                     查看文件类型、编码
file maps.txt
maps.txt: ASCII text

 

6:文本文件查看命令

cat          'filename'     查看纯文本文件 【行数较少的文本文件】
cat    -n    'filename'     查看文本内容时还想顺便显示行号

more / less   'filename'    可翻页检规     【行数较多的文本文件】

head  -n     'filename'     查看前N行

tail   -n    'filename'     查看后N行
tail   -f    'filename'     查看最新日志文件,时时更新

tr   [原始字符] [目标字符]   替换文本文件中的字符
例:cat  anaconda-ks.cfg | tr [a-z] [A-Z]

wc   -l    'filename'       统计文本的行数
wc   -w    'filename'       统计文本的字数
wc   -c    'filename'       统计文本的字节数

diff --brief 'filename1' 'filename2' 命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。

 

7:文本编辑命令【vi/vim编辑器】

vi/vim 【三种模式  普通模式,编辑模式,命令模式】

普通模式:用vim打开一个文档后,直接见到的就是普通模式,在该模式下,用户可以通过“←↑↓→”按键来移动光标,可以删除字符或删除整行,也可以复制和粘贴数据。
复制一行-yy;
复制多行-nyy(n为数字,是要复制的行数);
粘贴-p或P(p是粘贴到光标所在行的下一行,P是粘贴到光标所在行的上一行);
删除一行-dd;
删除多行-ndd(n为数字,是要复制的行数);
撤销-u;

编辑模式:在普通模式中可以进行删除、复制、粘贴等操作,但是却无法向文档中输入字符。
此时按下字母“i”、“I”、“o”、“O”、“a”、“A”、“r”或“R”,编辑器将从普通模式转入编辑模式,同时在屏幕左下方会出现“INSERT”或“REPLACE”的字样,此时才可以向文档中输入字符。
在整个输入过程结束后,按“Esc”键,即可返回普通模式,此时光标将处于刚才输入的最后一个字符的位置。

命令模式:在普通模式中,输入“:”、“/”或“?”,编辑器将从普通模式转入命令模式。此时屏幕左下角将出现“:”、“/”或“?”的标志。
在命令模式中,用户可以完成搜索、替换、高亮显示、行号显示、保存、退出甚至执行shell 指令等操作。
显示行号-set nu;(取消显示行号-set  nonu)
存盘-w;
退出-q;
存盘退出-wq;
不存盘强制退出-q!;

8:文件查找命令

which    

which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

例如:我们安装了配置JDK,我们就可以使用Jdk自带的命令。我们可以通过which命令找到它存储的位置。

which java
/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/bin/java

----------------------------------------------------------------------------------

whereis   

whereis git
/usr/bin/git

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

---------------------------------------------------------------------------------

find 

-name     匹配文件名
-perm     匹配权限(mode 为完全匹配, -mode 为包含即可)
-user     匹配所有者
-group    匹配所有组
-mtime    -n +n 匹配修改内容的时间(-n 指 n 天以内, +n 指 n 天以前)
-atime    -n +n 匹配访问文件的时间(-n 指 n 天以内, +n 指 n 天以前)
-ctime    -n +n 匹配修改文件权限的时间(-n 指 n 天以内, +n 指 n 天以前)

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

find .   列出当前目录及子目录下所有文件和文件夹

find  /Users/maps  -name "*.txt"   查找该目录下以.txt结尾的文件名

find  /Users/maps  -iname "*.txt"   同上,忽略大小写

---------------------------------------------------------------------------------

type 

type     type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。

9:搜索命令

grep    【文本】
grep     用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。

-i:在搜索的时候忽略大小写
-n:显示结果所在行号
-c:统计匹配到的行数。    注意,是匹配到的总行数,不是匹配到的次数
-o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行
-v:输出不带关键字的行(反向查询,反向匹配)
-Ax:在输出的时候包含结果所在行之后的指定行数,这里指之后的x行。A:after
-Bx:在输出的时候包含结果所在行之前的指定行数,这里指之前的x行。B:before
-Cx:在输出的时候包含结果所在行之前和之后的指定行数,这里指之前和之后的x行。C:context
-E:使用扩展正则表达式,而不是基本正则表达式,在使用"-E"选项时,相当于使用egrep。

 

10:系统服务命令

service foo start    启动服务 / systemctl start foo

service foo restart  重启服务 / systemctl restart foo

service foo stop    停止服务 / systemctl stop foo

service foo reload  重新加载配置文件(不终止服务)/ systemctl reload foo

service foo status  查看服务状态 / systemctl status foo

 

11:设置服务开机自动启动与关闭

chkconfig foo on   开机自动启动

chkconfig  foo off   开机不自动启动

chkconfig foo        查看特定服务是否为开机自动启动

chkconfig --list      查看各个级别下服务的启动与禁用情况

 

12:wget     用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。

-b  后台下载模式

-P  下载到指定目录

-t  最大尝试次数

-c  断点续传  
对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件.

-p  下载页面内所有资源,包括图片、视频等

-r  递归下载

如果想多文件下载

首先编辑创建一个文件

vim url.txt

www.baidu.com
www.jd.com

wget -i url.txt

 

13:软件安装命令

RPM命令

安装软件的命令格式  rpm -ivh filename.rpm

升级软件的命令格式  rpm -Uvh filename.rpm

卸载软件的命令格式  rpm -e filename           不可以加文件后缀

强制卸载软件的命令格式   rpm -e --nodeps filename

------------------------------------------------------------

查询软件描述信息的命令格式  rpm -qpi filename.rpm

列出软件文件信息的命令格式  rpm -qpl filename.rpm

查询文件属于哪个 RPM 的命令格式  rpm -qf filename

 

Yum 软件仓库

yum repolist all  列出所有仓库

yum list all  列出仓库中所有软件包

yum info 查看软件包信息

yum install 安装软件包

yum reinstall 重新安装软件包

yum update 升级软件包

yum remove 移除软件包

yum clean all  清除所有仓库缓存

yum check-update  检查可更新的软件包

yum grouplist  查看系统中已经安装的软件包组

yum groupinstall 安装指定的软件包组

yum groupremove 移除指定的软件包组

yum groupinfo 查询指定的软件包组信息

 

14:打包压缩

tar [选项] [文件]
tar -zvxf 'filename'

zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip内联代码块文件,内联代码块-r表示递归压缩子目录下所有文件。

unzip -o -d /maps/zip myfile.zip
把myfile.zip文件解压到 /maps/zip
-o:不提示的情况下覆盖文件;
-d:-d /maps/zip指明将文件解压缩到/maps/zip目录下。

 

15:Others

echo hello world!    在终端输出字符串、输出提取变量中的值
echo $SHELL
date                 用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。

ifconfig 
ifconfig 命令用于获取网卡配置与网络状态等信息

uname
uname 命令用于查看系统内核与系统版本等信息


who
who 用于查看当前登入主机的用户终端信息,格式为“who [参数]”。

last
last 命令用于查看所有系统的登录记录,格式为“last [参数]”。

history
history 命令用于显示历史执行过的命令。
history -c 清除history命令记录的历史数据。 history -n 现实最近N条历史命令数据。
历史命令会被保存到用户家目录中的.bash_history 文件中。
cat  /.bash_history

env 
env 命令用于查看Linux操作系统的系统环境变量。
env |grep JAVA_HOME     查找设置JavaHome系统环境变量。

pidof   【服务名】    用于查看该服务的进程PID
每个进程的进程号码值(PID)是唯一的,因此可以通过 PID 来区分不同的进程。
Kill 【pid】         根据进程pid杀死进程
Killall 【服务名】    根据服务名杀死一系列进程

kill的命令详解【了解\掌握】

kill的命令参数有以下几种:
-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a 当处理当前进程时,不限制命令名和进程号的对应关系
-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-u 指定用户
通常情况下,我们使用的-l(信号)的时候比较多,如我们前文提到的kill -9中的9就是信号。
信号如果没有指定的话,默认会发出终止信号(15)。常用的信号如下:
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
kill -15执行时,系统向对应的程序发送SIGTERM(15)信号,该信号是可以被执行、阻塞和忽略的,所以应用程序接收到信号后,可以做一些准备工作,再进行程序终止。
有的时候,kill -15无法终止程序,因为它可能被忽略,这时候可以使用kill -9,系统会发出SIGKILL(9)信号,该信号不允许忽略和阻塞,所以应用程序会立即终止。

Java如何处理这些信号?

正常关闭:当最后一个非守护线程结束或者调用了System.exit或者通过其他特定平台的方法关闭(接收到SIGINT(2)、SIGTERM(15)信号等) 【JDK提供了Java.Runtime.addShutdownHook(Thread hook)方法,可以注册一个JVM关闭的钩子。

强制关闭:通过调用Runtime.halt方法或者是在操作系统中强制kill(接收到SIGKILL(9)信号)

异常关闭:运行中遇到RuntimeException异常等。

kill -9 强制关闭进程的时候,程序并没有执行shutdownHook,而是直接退出了,并且会给出一个提示:interrupted by signal 9: SIGKILL

 

 

输入输出重定向:输入重定向是指把文件导入到命令中,而输出重定向则指把原本要输出到屏幕的数据信息写入到指定的文件中。

标准输入重定向(STDIN,文件描述符为0)

标准输出重定向(STDIN,文件描述符为1)

错误输出重定向(STDIN,文件描述符为2)

 

输入重定向

输入重定向中的符号及其作用
符号作用
命令 < 文件将文件作命令的标准输入
命令  << 分节符从标准输入中读入,直到遇到分界符才停止
命令 < 文件1 >文件2将文件1作命令的标准输入并将标准输出到文件2

输出重定向

输出重定向中用到的符号及其作用
符号作用
命令 > 文件将标准输出重定向到文件中(覆盖源文件内容)
命令 2> 文件将错误输出重定向到文件中(覆盖源文件内容)
命令 >> 文件将标准输出重定向到文件中(追加源文件内容)
命令 2>> 文件将错误输出重定向到文件中(追加源文件内容)

命令 &>> 文件或者

命令 >> 文件 2>&1

将标准输出与错误输出共同写入到文件中(追加源文件内容)

管道命令符:把前一个命令原本的要输出到屏幕的标准正常数据当作是后一个命令的标准输出。

例如:我们使用ls命令查看当前路径的文件及目录信息。(这些内容默认全部打印到屏幕上)

ll | more    翻页查看目录及文件列表及属性信息。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值