Linux常用命令

Linux常用命令

1、关机&重启命令

shutdown

shutdown -h now  立即关机
shutdown -h 1    1分钟后关机
shutdown -r now  立即重启
 halt :直接使用,效果等价于关机

 reboot:重启系统

 syn: 把内存的数据同步到磁盘

注意:当关机或者重启时,都应该先执行sync指令,把内存的数据写入磁盘,防止数据丢失


2、用户管理

2.1、添加用户useradd

 useradd [选项] 用户名
 如:添加一个用户xm.
 useradd xm

注意
1、当创建用户成功后,会自动的创建和用户同名的家目录

2、也可以通过useradd -d 指定目录 新的用户名,给新创建的用户指定家目录

useradd -d /home/dog xq

2.2 给用户指定或者修改密码passwd

基本语法

passwd 用户名
如:
passwd xm

2.3 删除用户userdel

userdel  用户名

1、删除用户xm,但是保留家目录

userdel xm

2、删除用户xh以及用户主目录

userdel -r xq

2.4 查询用户信息id

id 用户名

2.5 切换用户su

在操作Linux中,如果当前用户的权限不够,可以通过su -指令,切换到高权限用户,比如root

su - 用户名

2.6 用户组

类似于角色,系统可以对有共性的多个用户进行统一的管理

2.6.1 增加组groupadd

groupadd 组名

2.6.2 删除组groupdel

groupdel 组名

2.7 增加用户时直接加上组useradd -g

useradd -g 用户组 用户名
增加一个用户zwj,直接将他指定到wudang
useradd -g wudang zwj

2.8 修改用户的组 usermod

usermod -g 用户组 用户名
创建一个shaolin组,将zwj用户修改到shaolin

groupad shaolin

usermod -g shaolin zwj

3、文件目录类指令

3.1、 pwd指令

显示当前工作目录的绝对路径

3.2、 ls指令

 ls [选项] [目录或文件]

常用选项

-a :显示当前目录所有的文件和目录,包括隐藏的

-l :以列表的方式显示信息

3.3、 cd指令

切换到指定目录

cd [参数]
cd~ 或者 cd:    回到自己的家目录

cd..   回到当前目录的上一级目录

案例

使用相对路径到/root目录
此处我们需要知道该用户目录在哪个目录下,才能写出这个指令,假设在/user/lib

cd ../../root

3.4、 mkdir指令

mkdir指令用于创建目录

mkdir [选项] 要创建的目录

常用选项 : -p 创建多级目录

创建一个目录 /home/dog

mkdir /home/dog
如果希望一次创建多级目录,带上参数-p即可

mkdir -p /home/animal/tiger

3.5、 rmdir指令

删除空目录

rmidr [选项] 要删除的空目录
删除一个目录/home/dog (此处必须为空目录)

rmdir /home/dog

如果要删除非空目录,需要使用rm -rf 要删除的目录

rm -rf /home/dog

3.6、 touch指令

创建空文件

创建一个空文件 hello.txt

touch hello.txt

3.7、 cp指令(重要)

拷贝文件到指定目录

cp [选项] source dest

常用选项 -r:递归复制整个文件夹

将/home/aaa.txt 拷贝到 /home/bbb 目录下(拷贝单个文件)

cp aaa.txt bbb/
将/home/test 整个目录拷贝到/home/zwj 目录下
cp -r test/ zwj/

3.8、 rm指令

移除[删除]文件或者目录

rm [选项] 要删除的文件或目录

常用选项

-r :递归删除整个文件夹
-f :强制删除不提示

3.9、 mv指令

移动文件与目录或重命名

mv oldNameFile newNameFile  (重命名)

mv /temp/movefile/targetFolder (移动文件)
将 /home/aaa.txt 文件重新命名为 pig.txt

mv aaa.txt pig.txt
将 /home/pig.txt 文件移动到 /root目录

mv pig.txt /root/

3.10、 cat指令

查看文件内容,以只读的方式打开

cat [选项] 要查看的文件

常用选项:-n 显示行号

/etc/profile 文件内容,并显示行号

cat -n /etc/profile | more

使用细节
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 |more

cat 文件名 | more [分页浏览]

3.11、 more指令

more 指令是一个基于VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more
指令中内置了若干快捷键

more 要查看的文件
采用more 查看文件 /etc/profile

more /etc/profile

快捷键

图片说明

3.12、 less指令

less 指令用来分屏查看文件内容,它的功能与more 指令类似,但是比more 指令更加强大,支持
各种显示终端。

less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示
需要加载内容,对于显示大型文件具有较高的效率。

less  要查看的文件
采用less 查看一个大文件  /opt/金庸-射雕英雄传txt 精校版.txt

cd /opt/
ls
less 金庸-射雕英雄传txt 精校版.txt

快捷键
图片说明

3.13、 > 指令和>> 指令

1、 > 输出重定向: 会将原来的文件的内容覆盖

2、>> 追加:不会覆盖原来文件的内容,而是追加到文件的尾部。

基本语法
1、ls -l >文件 (功能描述:列表的内容写入文件a.txt 中(覆盖写))

ls -l > a.txt

ls -l > a.txt , 将ls -l 的显示的内容覆盖写入到a.txt 文件,如果该文件不存在,就创建该文
件。

2、ls -al >>文件(功能描述:列表的内容追加到文件aa.txt 的末尾)

ls -l >> b.txt

3、cat 文件1 > 文件2 (功能描述:将文件1 的内容覆盖到文件2)

cat /etc/profile > c.txt

4、echo "内容" >> 文件

将/home 目录下的文件列表写入到/home/info.txt 中

ls -l /home/ > /home/info.txt
将当前日历信息追加到/home/mycal 文件中[提示cal ]

cal >> /home/mycal

3.14、echo指令

输出内容到控制台

echo [选项] [输出内容]

使用echo 指令输出环境变量,输出当前的环境路径。

echo $PATH

3.15、head指令

head 用于显示文件的开头部分内容,默认情况下head 指令显示文件的前10 行内容

基本语法:

head 文件(功能描述:查看文件头10 行内容)
head -n 5 文件(功能描述:查看文件头5 行内容,5 可以是任意行数)

案例:
查看/etc/profile 的前面5 行代码

head -n 5 /etc/profile

3.16、tail指令

tail 用于输出文件中尾部的内容,默认情况下tail 指令显示文件的后10 行内容。
基本语法:

1) tail 文件(功能描述:查看文件后10 行内容)
2) tail -n 5 文件(功能描述:查看文件后5 行内容,5 可以是任意行数)
3) tail -f 文件(功能描述:实时追踪该文档的所有更新,工作经常使用)

3.17、ln指令

软链接也叫符号链接,类似于windows 里的快捷方式,主要存放了链接其他文件的路径
基本语法:

ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

案例:
在/home 目录下创建一个软连接linkToRoot,连接到/root 目录

ln -s /root linkToRoot

删除软连接linkToRoot

rm -rf linkToRoot

注意:当我们使用pwd 指令查看目录时,仍然看到的是软链接所在目录。

3.18、history指令

查看已经执行过历史命令,也可以执行历史指令
基本语法:

history (功能描述:查看已经执行过历史命令)

案例:
显示所有的历史命令

history 

显示最近使用过的10个指令

history 10

4 时间日期类指令

4.1 date指令-显示当前日期

基本语法:

1) date (功能描述:显示当前时间)
2) date +%Y (功能描述:显示当前年份)
3) date +%m (功能描述:显示当前月份)
4) date +%d (功能描述:显示当前是哪一天)
5) date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)

4.1.2 date指令-设置日期

基本语法:

date -s 字符串时间

案例:设置系统当前时间, 比如设置成2018-10-10 11:22:22

date -s "2018-10-10 11:12:22"

4.2 cal指令 查看日历指令

基本语法:

cal [选项] (功能描述:不加选项,显示本月日历)

案例: 显示2020 年日历

cal 2020

5 搜索查找类失灵

5.1 find指令

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

基本语法:

find [搜索范围] [选项]

选项说明

-name<查询方式>   按照指定的文件名查找模式查找文件
-user<用户名>     查找属于指定用户名所有文件
-size<文件大小>   按照指定的文件大小查找文件

案例:按文件名:根据名称查找/home 目录下的hello.txt 文件

find /home -name hello.txt

按拥有者:查找/opt 目录下,用户名称为nobody 的文件

find /opt -user nobody

查找整个linux 系统下大于20m 的文件(+n 大于-n 小于n 等于)

find / -size +20M

查询/ 目录下,所有.txt 的文件

find / -name *.txt

5.2 locate指令

locaate 指令可以快速定位文件路径
Locate 指令无需遍历整个文件系统,查询速度较快。

基本语法:

locate 搜索文件

特别说明:由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用updatedb 指令创建locate 数据库。

案例:请使用locate 指令快速定位hello.txt 文件所在目录

locate hello.txt

5.3 grep指令和管道符号

grep 过滤查找, 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
基本语法:

grep [选项] 查找内容源文件

选项说明

-n     显示匹配行及行号
-i     忽略字母大小写

案例:请在hello.txt 文件中,查找"yes" 所在行,并且显示行号

cat hello.txt | grep -n yes     (区分大小写)
cat hello.txt | grep -ni yes    (不区分大小写)

6、 压缩和解压类

6.1、 gzip/gunzip 指令

gzip 用于压缩文件, gunzip 用于解压的
基本语法:

gzip 文件(功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)

注意:当我们使用gzip 对文件进行压缩后,不会保留原来的文件。

6.2、 zip/unzip 指令

zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
基本语法:

zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)

zip常用选项

-r:递归压缩,即压缩目录

unzip 的常用选项

-d<目录> :指定解压后文件的存放目录

案例:将/home 下的所有文件进行压缩成mypackage.zip

zip -r mypackage.zip /home/

将mypackge.zip 解压到/opt/tmp 目录下

unzip -d /opt/tmp/ mypackage.zip

6.3、 tar 指令

tar 指令是打包指令,最后打包后的文件是.tar.gz 的文件。
基本语法:

tar [选项] XXX.tar.gz 打包的内容(功能描述:打包目录,压缩后的文件格式.tar.gz)

选项说明

-c   产生.tar打包文件
-v   显示详细信息
-f   指定压缩后的文件名
-z   打包同时压缩
-x   解包.tar文件

案例1: 压缩多个文件,将/home/a1.txt 和/home/a2.txt 压缩成a.tar.gz

tar -zcvf a.tar.gz a1.txt a2.txt

将/home 的文件夹压缩成myhome.tar.gz

tar -zcvf myhome.tar.gz /home/

将a.tar.gz 解压到当前目录

tar -zxvf a.tar.gz

将将myhome.tar.gz 解压到/opt/ 目录下

tar -zxvf myhome.tar.gz -C /opt/

指定解压到的那个目录,事先要存在才能成功,否则会报错。

全部评论

相关推荐

2025-12-31 18:42
复旦大学 Java
点赞 评论 收藏
分享
2025-12-24 15:25
已编辑
门头沟学院 前端工程师
是腾讯的csig腾讯云,前天晚上九点突然打电话约面,激动的通宵学了一晚上,第二天状态很差改了今天(以后再也不通宵学习了)感觉自己浪费了面试官一个半小时单纯手写+场景,无八股无项目无算法,打击真的很大,全是在面试官提醒的情况下完成的,自己技术方面真的还是有待提高,实力匹配不上大厂和已经面试的两个公司完全不一样,很注重编码能力和解决问题的能力,然而我这两个方面都很薄弱,面试官人很好很耐心的等我写完题目,遇到瓶颈也会提醒我,写不出题也会很耐心的跟我讲解好感动,到最后面试结束还安慰我打算把下周最后一场面试面完之后就不面啦,如果能去实习还是很开心,但是最重要的还是好好努力提高技术以下是面经第一题//&nbsp;实现一个解析&nbsp;url&nbsp;参数的函数function&nbsp;parseUrl(urlStr)&nbsp;{//&nbsp;TODO}parseUrl('*********************************************');//&nbsp;返回&nbsp;{a:&nbsp;1,&nbsp;b:&nbsp;2,&nbsp;c:&nbsp;3}追问:在链接里见过什么部分?用&nbsp;hash&nbsp;路由的话放在哪第二题//&nbsp;考虑有一个异步任务要执行,返回&nbsp;Promise,这个任务可能会失败,请实现&nbsp;retry&nbsp;方法,返回新方法,可以在失败后自动重试指定的次数。/***&nbsp;异步任务重试*&nbsp;@param&nbsp;task&nbsp;要执行的异步任务*&nbsp;@param&nbsp;times&nbsp;需要重试的次数,默认为&nbsp;3&nbsp;次*/function&nbsp;retry(task,&nbsp;times&nbsp;=&nbsp;3)&nbsp;{//&nbsp;TODO:&nbsp;请实现}//&nbsp;---------------测试示例&nbsp;----------------//&nbsp;原方法const&nbsp;request&nbsp;=&nbsp;async&nbsp;(data)&nbsp;=&gt;&nbsp;{//&nbsp;模拟失败if&nbsp;(Math.random()&nbsp;&lt;&nbsp;0.7)&nbsp;{throw&nbsp;new&nbsp;Error('request&nbsp;failed');}const&nbsp;res&nbsp;=&nbsp;await&nbsp;fetch(&#39;https://jsonplaceholder.typicode.com/posts&#39;,&nbsp;{method:&nbsp;'POST',body:&nbsp;JSON.stringify(data),});return&nbsp;res.json();}//&nbsp;新的方法const&nbsp;requestWithRetry&nbsp;=&nbsp;retry(request);//&nbsp;使用async&nbsp;function&nbsp;run()&nbsp;{const&nbsp;res&nbsp;=&nbsp;await&nbsp;requestWithRetry({&nbsp;body:&nbsp;'content'&nbsp;});console.log(res);}run();第三题就是给&nbsp;retry&nbsp;函数添加类型注释,用到泛型第四题:在组件库中将&nbsp;Alert&nbsp;用&nbsp;api&nbsp;的形式实现(应该就是&nbsp;message&nbsp;这个组件)怎么渲染到一个浮层里而不是原地渲染出来
不知道怎么取名字_:技术这个东西,太杂了,而且要下功夫的
查看5道真题和解析
点赞 评论 收藏
分享
评论
2
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务