linux基础之常用命令

我怕爱的太早我们不能终老 提交于 2020-02-27 14:47:06

小时候的我梦想是做一名黑客,那些命令界面让我心之神往,让我怦然心动,让我欲罢不能!

终于到了很多小伙伴都喜欢的常用命令篇章,就是那种黑客界面一顿噼里啪啦就能控制某某服务器的那种命令,当然这里也就这么一说,真正的拿服务器比理解命令可难多了。

可是有图形化界面为什么还要用命令行?因为在实际运维过程中,大型机房的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内置命令

到此为止常见的命令就介绍完了,当然还有很多很多命令,后面遇到的时候在说

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!