小时候的我梦想是做一名黑客,那些命令界面让我心之神往,让我怦然心动,让我欲罢不能!
终于到了很多小伙伴都喜欢的常用命令篇章,就是那种黑客界面一顿噼里啪啦就能控制某某服务器的那种命令,当然这里也就这么一说,真正的拿服务器比理解命令可难多了。
可是有图形化界面为什么还要用命令行?因为在实际运维过程中,大型机房的linux服务器都是没有显示器的,而且安装操作系统的时候压根不会装图形界面,只有一个显示器而且全部用命令远程连接,人家都命令了你还用图形界面是不是很low,让同行瞧不起,还有最主要的一点,用命令行装逼范十足,这对那些外行人来说是最为致命的
在linux中想要理解这些命令的用法我们得知道他的全称/命令所在路径/执行权限,以及这些命令的常用参数功能以及最主要的执行这条命令的用途。下面就介绍下常见的命令
我们把命令分为这么几种:1.文件处理命令2.权限管理命令3.文件搜索命令4.用户管理命令5.压缩解压命令6.网络命令7.关机重启命令8.帮助命令
1.文件处理命令,顾名思义就是处理文件的,在windows中处理文件的方式就是复制粘贴查看目录、创建删除目录、剪切等,在linux中也是一样的,唯一不同的就是多了几种查看文件的方式,就好比windows的使用多种方式打开文件
ls:列出目录
全称list,命令所在路径/bin/ls,执行权限:所有用户
ls -a 列出所有目录
ls -l 以详细信息列出目录
ls -lh 详细信息友好显示
ls -ld 查看目录本身的详细信息
ls -i 查看目录或者节点下任何一个inode号
mkdir:创建新目录
全称make directories,命令所在路径/bin/mkdir,执行权限:所有用户
#在创建之前要做好目录的规划,不要在重要的目录中创建自己的目录以免影响,建议在/tmp下
mkdir -p 递归创建目录,意思就是比如mkdir /tmp/test/1 命令中的/tmp目录存在但是/test不存在,在没有p参数时是不能创建成功的,加完p参数后在/tmp目录下创建完/test之后在创建1目录
例如:mkdir -p /tmp/test/1
也可以一次创建多个 mkdir -p /tmp/test/1 /tmp/test/2
cd:进入或者切换目录
全称change directory,命令所在路径shell内置命令
例如:cd /dev/net
cd ..回到上级目录
pwd:显示当前目录的绝对路径,对多次cd后不知道当前目录位置的补充
全称:print working directory,命令所在路径/bin/pwd
rmdir:删除空目录
全称:remove empty directories,命令所路径/bin/rmdir,权限所有用户
cp:复制
全称:copy,命令所在路径/bin/cp,权限所有用户
语法:cp -r-p[源文件或目录][目标目录]
-r代表复制目录
-p代表保留文件属性
例如:cp -p /root/anaconda-ks.cfg /tmp 表示将/root/anaconda-ks.cfg复制到/tmp目录下
复制的同时还可以修改目录名字
mv:剪切文件或者改名
全称:move,命令所在路径/bin/mv,权限所有用户 语法:move [源文件或目录][目标目录]
rm:删除文件或目录
全称:remove,命令所在路径/bin/rm,权限所有用户
rm -rf [文件或者目录] -r删除目录 -f 强制执行
例如: rm -f * 删除当前目录下所有类型的文件
touch:创建空文件
命令所在路径/bin/touch,执行权限所有用户
例如:touch program files 指创建两个目录
touch "program files" 创建一个带空格的目录 但不建议这样使用
cat:查询文件内容
所在路径/bin/cat 权限:所有用户
cat -n 浏览时候加行号
例如:cat /etc/issue
tac:倒着显示查询文件内容
more:分页显示文件内容(只能往下翻页)
所在路径/bin/more 执行权限:所有用户
more[文件名]
空格或者F进行翻页
回车换行
Q退出
例如: more /etc/services
less:分页显示文件内容(可以向上下翻页,还可以搜索)
所在路径 /usr/bin/less 执行权限:所有用户
输入/进行搜索,按n遍历所有搜索出来的关键词
head:显示文件前几行
所在路径 /usr/bin/head 执行权限:所有用户
head -n 行号 [文件名] 显示文件的前几行 不加会默认显示前十行
例如 head -n 20 /etc/services 查看前20行
tail:显示文件后几行
所在路径 /usr/bin/tail 执行权限:所有用户
tail -n 行号 [文件名] 显示文件的前几行 不加会默认显示后十行
tail -f 实时查看文件动态的末尾内容
例如 tail -n 20 /etc/services 查看后20行
ln:生成链接文件
全称link 所在路径/bin/ln 执行权限:所有用户
ln -s [源文件][目标文件]
-s 创建软链接 不加为创建硬链接
ll /dev/cdrom 查看软链接
二者区别: 软连接类似windows中的快捷方式,链接文件只占几个k,硬链接是将源文件直接复制一份,新文件所
占空间和源文件一样 软链接两个文件的inode号是不同的,而硬文件的文件inode是一样的 删除软键连接的源文
件,链接文件是不能用的,而删除硬连接的源文件,链接文件是可以正常使用的 软链接可以链接一个目录,而硬
链接是不可以的 修改软链接的内容源文件不会同步,修改硬链接的内容源文件是同步的
2.权限管理命令
在linux中什么是权限?
拿这张图来说,权限就是第一列的drwxr-xr-x,我这样表示:[d][rwx][rwx][rwx] 第一位(-代表二进制文件,l代表软连接文件,d代表目录) [rwx]代表所有者权限,[r-x]代表所属组的权限,最后一个[r-x]代表其他人的权限 其中rwxrwxrwx代表最大权限,---------代表没有权限,而rwx又分别代表可读可写可执行,后面说到权限管理的时候在仔细说,先简单了解一下
chmod:改变文件或者目录权限
全称:change the permissions mode of a file,命令所在路径/bin/chmod,执行权限所有用户
语法:chmod [{ugoa}{+-=}{rwx}][文件或者目录][mode=421][文件或目录] -R递归修改
例如:test1文件的权限为-rwxrw-r--
chmod o+x test1 就是给这个文件的其他用户加上执行权限,修改完就是-rwxrw-r-x
chmod o+x,g-w test1 就是给其他加执行权限的同时也减去用户组的写权限 chmod o=rwx
数字表示法:(常用的) r=4 w=2 x=1
例如 rwxrw-r-- = 764,反之 532 = r-w-wx-w-
chmod 640 test1同等于 chmod rw-r----- test1
权限小结 :
file r:cat/more/head/tail/less
w:vim x:script command direcotry
r:ls w:touch/mkdir/rmdir/rm x:cd
这里说的是具有这些权限的命令
chown:更改文件或者目录的所有者
全称:change file ownership,命令所在路径/bin/chown,执行权限所有用户
语法:chown [用户] [文件或目录]
注意:只有root才有权限修改
例如: chown root:testgroup /test1 #修改root所属组testgroup的test1文件
chgrp:更改文件或者目录的所属组
全称: change file group ownership,所在路径/bin/chgrp,执行权限所有用户 语法参考chown
umask:显示设置文件的缺省权限
全称:the user file-creation mask,所在路径shell内置命令,执行权限所有用户
umask [-S] -S以rwx形式显示新建文件缺省权限
输入umask看到0022四位数,第一位暂不解释,022代表----w--w-,
umask值(022)=最高权限(777)-当前权限(755) #计算公式
文件权限 777 rwxrwxrwx
最高权限 022 ----w--w-
umask值 755 rwxr-xr-x
umask执行后的权限
目录权限 777 rwxrwxrwx
最高权限 133 --x-wx-wx
umask值 644 rw-r----x
umask执行后的权限
3.文件搜索命令,在windows中的命令行可以使用find命令加关键词的方式来搜索文件,在linux中也是可以的
find:文件搜索
全称:find,所在路径/bin/find,权限所有用户,建议分区和创建目录前就做好规划,尽量少用find命令,以便节省服务器资源,非要搜索时候条件越精准越好
语法: find [搜索范围 [匹配条件]
[-name] 根据文件名
[-iname] 根据文件名且不区分大小写
find /etc -name init 在/etc中查找init的文件,指搜索文件名是init的
find /etc -name *init* 可以搜索文件名包含init的文件
find /etc -name init* 搜索以init开头的文件
find /etc -name init??? 搜索前几位是init后几位字母不清楚的文件
find /etc -name init -exec ls -l {}\; 查找init文件并且执行显示其详细信息
-exec/-ok 对搜索结果执行操作,两者区别就是Ok提示y/n?
[-type]根据文件类型 [f|d|l] f文件 d目录 l软链接
find /etc -name init* -a -type f 查找以inin开头的文件
[-size] 根据文件大小
find / -size +204800 全盘查找大于100MB的文件
find /etc-size +163840 -a size -204800 在/etc下查找大于80MB小于100MB的文件
-a 两个条件同时满足 -o 两个条件满足一个即可
[-user] 根据用户 find /home -user 4thw 全盘查找所有者为4thw的文件
[-group]根据所属组
根据时间min [-cmin]
访问时间access [-amin]
文件属性change [-mmin] 文件内容modify find /ect -cmin -5 查找五分钟被修改过文件属性的文件
[inum]根据i节点查找
find . -inum 31531 -exec rm {} \; 在当前目录删除i节点为31531的文件
locate:在文件资料库中查找文件
命令所在路径/usr/bin/locate执行权限所有用户
语法:locate [-i] -i不区分大小写 类似windows的everything,先建立一个索引资料库,然后根据索引搜索文件 updatedb 更新linux的locate索引库
which:搜索命令所在目录及别名信息
命令所在路径/usr/bin/which 执行权限所有用户
whereis:搜索命令所在目录以及帮助文档路径
命令所在路径/usr/bin/whereis,执行权限所有用户
grep:在文件内容中搜索字符串匹配的行并输出
命令所在路径/bin/grep,执行权限所有用户
语法: grep -i -v [指定字符串][文件]
-i不区分大小写
-v排除指定字串
例如: grep -v ^# /etc/init 搜索init在文件中除过以#开头的内容
4.用户管理命令
useradd:添加新用户
命令所在路径/usr/sbin/useradd 执行权限root
passwd:更改用户密码
命令所在路径/usr/sbin/passwd 执行权限root root可以更改所有用户的密码但是普通用户只能修改自己的密码
who:查看当前登录用户信息
命令所在路径/usr/bin/who 执行权限所有用户
localhost pts/0 2020-02-13 08:34 (192.168.31.28)
登录用户名 登陆终端 登录时间 登录ip地址
pts是远程登录tty是本机登录,如果没有ip就是本机登录
w:更详细的查看当前登录用户信息
5.压缩解压命令
gzip:压缩
全称GUNzip,命令所在路径/bin/gzip,执行权限所有用户 注意:压缩后的文件后缀.gz,压缩完之后不保留源文件,不能压缩目录
gunzip:解压缩
全称GUNunzip,命令所在路径/bin/gunzip,执行权限所有用户
tar:打包目录
命令所在路径/bin/tar,执行权限所有用户
语法:tar [-zcf][压缩后的文件名][目录]
-c 打包
-v显示详细信息
-f执行文件名
-z打包同时压缩
压缩后的文件格式.tar.gz
例如:tar -cvf the.tar 4thw 就是把4thw文件打包并且打包后的文件名为the.tar,完了在gzip tar -zcf the.tar.gz 4thw 可以把4thw文件直接打包并且压缩为the.tar.gz,比-cvf更实用
tar [-x-v-f-z]
-x解包 -v显示详细信息
-f指定压缩文件
-z解压缩
例如:tar -zxvf the.tar.gz 对the.tar.gz进行解包
zip:压缩目录或文件,支持linux和windows
命令所在路径/usr/bin/zip,执行权限所有用户
语法: zip [-r][压缩后的文件名] [文件或者目录] -r压缩目录 压缩后的文件格式.zip
uzip:解压缩
命令所在路径/usr/bin/uzip,执行权限所有用户
bzip2:压缩文件,zip的升级命令,压缩大文件比较推荐
命令所在路径/usr/bin/bzip2,执行权限所有用户
语法:bzip2 [-k] [文件]
-k产生压缩文件后保留源文件 压缩后的文件格式 .bz2
例如:bzip2 -k 4thw tar -cjf the.tar.bz2 4thw
bunzip2:解压
命令所在路径/usr/bin/bunzip2,执行权限所有用户
语法:bunzip2 [-k] [压缩文件]
-k解压缩文件后保留源文件
例如:bunzip2 -k the.tar.bz2 tar -xjf the.tar.bz2
6.网络命令
write:给在线用户发信息,以ctrl+d保存结束
命令所在路径/usr/bin/write,执行权限所有用户 语法: write <用户名>
wall:发广播信息
全称write all,命令所在路径/usr/bin/wall,执行权限所有用户 语法:wall [message]
ping:测试网络连通性
命令所在路径/bin/ping,执行权限所有用户 语法:ping [-c] [ip] -c指定发送次数 注意:主要关注packet loss丢包率
ifconfig:查看网卡和设置网卡信息
全称interface configure,命令所在路径/sbin/ifconfig,执行权限root 语法:ifconfig 网卡名称 ip地址
mail:查看发送电子邮件
命令所在路径/bin/mail,执行权限所有用户 语法:mail <用户名>
last:列出目前于获取登入系统的用户信息
命令所在路径/usr/bin/last,执行权限所有用户 包括重启信息
lastlog:检查某特定用户上次登录的时间
命令所在路径/usr/bin/lastlog,执行权限所有用户
例如 lastlog -u 502 502代表用户的uid
traceroute:显示数据包到主机间的路径
命令所在路径/bin/traceroute,执行权限所有用户
例如: traceroute www.baidu.com
netstat:显示网络相关信息
命令所在路径/bin/netstat,执行权限所有用户
netstat [-t-u-l-r-n]
-t tcp协议
-u udp协议
-l 监听
-r 路由
-n显示ip地址和端口号
例如常见三种用法:
netstat -tlun 查看本机监听的端口
netstat -an 查看本机所有的网络链接
netstat -rn 查看本机路由表
setup:配置网络
命令所在路径/usr/bin/setup,执行权限root
注意:此命令只有redhet系列的系统才有
7.关机重启命令
shutdown:推荐重启用此命令
语法:shutdown [-chr][时间]
-c取消前一个关机命令
-h关机 -r重启
例如: shutdown -h now #立即关机
其他关机命令
halt poweroff init 0
其他重启命令
reboot init 6
系统运行级别
运行级别配置文件位置/etc/inittab
修改id:3:initdefault:运行级别
init 0关机
init 1单用户
init 2不完全多用户,不含NFS服务
init 3完全多用户
init 4未分配
init 5图形界面
init 6重启
runlevel查询当前运行级别
logout:退出登录,切记切记机房运维记得退出,不然会很严重
8.帮助命令
man:获得帮助信息
全称:manual命令所在路径 /usr/bin/man, 执行权限所有用户
进入后输入 /+关键词可以直接锁定自己想看的内容
man [services] 查看配置文件的帮助信息,主要关注配置文件的名字和格式 最常见的帮助类型1是命令的帮助 5是配置文件的帮助
例如:man 5 passwd 查看passwd配置文件的帮助 --help指列出主要的信息
help:查看shell内置命令的帮助信息
命令所在路径shell内置命令
到此为止常见的命令就介绍完了,当然还有很多很多命令,后面遇到的时候在说
来源:CSDN
作者:Yl0j8k
链接:https://blog.csdn.net/qq_34398519/article/details/104534147