long blogs

进一步有进一步惊喜


  • Home
  • Archive
  • Tags
  •  

© 2025 long

Theme Typography by Makito

Proudly published with Hexo

Linux命令总结

Posted at 2020-10-18 linux 

运行脚本输入回车

假设有一个程序a,运行的时候需要连续输入几个回车才能运行结束。
使用命令:echo "\n\n\n\n\n\n" -e | a,可以通过管道去输入回车。

关机、重启、注销

shutdown -h now: 立即关机
shutdown -h 1: 1分钟后关机
shutdown -r now: 立即重启
h表示:halt、r表示:reboot、syn:内存数据同步至磁盘

logout: 注销,只在级别3下面有效

判断字符串是否为空

1
2
3
4
data=""
if [[ -z "${data}" ]];then
echo "NULL"
fi

用户管理

添加用户

useradd [选项] 用户名

例子:useradd zhangsan 创建一个zhangsan的用户自动创建和用户名相同的home目录。
使用选项-d可以指定用户的home目录
例子:useradd -d /home/wangwu zhangsan,将用户zhangsan的home目录指定为/home/wangwu

指定或修改用户密码

passwd 用户名

例子: passwd zs

删除用户

userdel 用户名

例子:userdel zhangsan 删除zhangsan用户,但保留用户home目录。
例子:userdel -r zhangsan 删除zhangsan用户,同时删除用户home目录。

切换用户

su - zhangsan 切换到zhangsan用户
返回原来的用户exit命令
高权限用户=>低权限用户:不需要密码,反之需要。

用户组

添加新组

groupadd xiaoming

删除新组

groupdel xiaoming

添加用户时设置组

useradd -g 用户组 用户名

修改已有的用户组

usermod -g 用户组 用户名

用户相关文件

/etc/passwd文件,用户配置文件
一行的含义: 用户名:口令:用户标识号:注释性描述:主目录:登录shell

/etc/shadow 文件
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

/etc/group 文件
组名:口令:组标识号:组内用户列表

指定运行级别

运行级别:

级别 说明
0 关机
1 单用户,可以用来找回密码
2 多用户没有网络
3 多用户状态有网络
4 未使用
5 图形界面
6 系统重启

指定运行级别:/etc/inittab中的id:5:initdefault数字,常用的有3和5级别

切换到指定级别的指令:init [0123456]

系统帮助命令

man [命令或配置文件] (功能描述:获得帮助信息)

除了可以使用man手册获得命令帮助之外,还可以查询系统c函数的说明。

man strlen

help 命令 (功能描述:获得shell内置命令的帮助信息)

文件目录类

pwd 指令

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

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

ls -al查看当前目录的文件信息,包括隐藏的

cd [参数]

切换到指定目录cd /home, cd .., cd ~

mkdir [选项] 文件目录

创建文件目录:mkdir -p /home/dog/dahuang,-p表示创建多级文件目录。

rmdir [选项] 需要删除的空目录

如果不是空目录无法删除

rm -rf 目录

强制递归删除目录,包括里面的文件

touch xxx.txt

创建一个空的文件

cp [选项] source dest

赋值文件到指定目录,加上-r选项,递归整个文件夹。

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

-r 递归整个文件夹

-f强制删除不再提示

mv oldNameFile newNameFile 重命名文件

mv /xx/xxx /target/xx/xx 移动文件

文件移动或者重命名操作。

查看文件

cat [选项] 需要查看的文件

可以使用-n选项来显示行号

more 要查看的文件

操作 说明
空格 下翻一页
Enter 下翻一行
q 离开more
Ctrl+F 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行号
:f 输出文件名和当前行的行号

less 要查看的文件

可以显示大型文件,常用操作。

操作 说明
空格 下翻一页
pagedown 下翻一页
pageup 上翻一页
/字串 向下检索,n 向下查找 N向上查找
?字串 向上检索,n 向上查找 N 向下查找
q 退出

head [选项] 文件

默认显示文件的前10行内容。head -n 5 文件,显示文件前5行文件。

tail 文件 (功能描述:查看文件后10行内容)

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

tail -f 文件 (功能描述: 实时追踪文件的所有更新)

符号链接

ln -s [源文件或目录] [软链接名]

例子:ln -s /root linkToRoot, 在本地文件夹中创建一个链接linkToRoot到/root的软链接。想要删除软链接的话可以使用rm -rf linkToRoot

输出相关

> 覆盖式输出重定向

ls -l > a.txt 把文件列表重定向至a.txt中,文件不存在就创建文件。

>> 追加式输出重定向

ls -l >> a.txt 将ls -l命令产生的数据追加到a.txt文件的尾部。

例子:cat /etc/profile > c.txt
将文件profile拷贝到c.txt中。

echo [选项] [输出内容]

输出内容到控制台,例子:echo ${PATH} 将环境变量path输出到控制台

查看执行过历史命令

history

显示最近使用过的10个指令。
使用!123可以执行历史中第123条指令。

时间和日期类

date 显示当前时间

date "+%Y" 显示当前年份

date "+%m" 显示当前月份

date "+%d" 显示当前是哪一天

date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒。

date -s "2020-10-10 11:22:33" 设置时间为字符串中对应的时间。

cal [-mjy] [月份] [年份] 打印日历

选项 说明
1 显示单月输出
3 显示临近3个月的日历
s 将星期日作为月的第一天
m 显示星期一作为一周的第一天
j 显示儒略历
y 显示当前年份的日历

搜索查找类

find [搜索范围] [选项]

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

选项 说明
name 按照指定文件名查找文件
user 查找属于指定用户的所有文件
size 按照指定的文件大小查找文件

例子:
find /home -name hello.txt
find /opt -user nobody
find / -size +20M 文件大于20M
find / -size -20M 文件小于20M
find / -size 20M 文件相等20M

locate 搜索文件

本地数据库存储文件的索引,能够更快的查找到问文件。updatedb更新数据库。

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

-n 显示匹配行的行号
-i 忽略大小写

例子:
cat hello.txt | grep -n yes
cat hello.txt | grep -ni yes

压缩和解压

gzip 文件

压缩文件成*.gz文件

gunzip 文件.gz

解压.gz压缩文件

zip [选项] xxx.zip 要压缩的内容

压缩文件和目录命令,使用-r递归压缩,压缩文件。

unzip [选项] xxx.zip

解压*.zip文件,选项-d指定解压的文件夹。

tar [选项] XXX.tar.gz 打包的内容

打包目录,压缩后的文件格式为tar.gz,
选项说明

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

例子:
tar -zcvf a.tar.gz a.txt b.txt 将a.txt文件和b.txt文件压缩为a.tar.gz
tar -zxvf a.tar.gz -C /opt/ 将a.tar.gz解压到/opt文件夹内,注意文件夹必须事先存在。

组管理和权限管理

chown 用户名:组名 文件名

修改文件所有者
例子:chown other:other a.txt,将a.txt文件的文件所有者改为other用户 other组。第一个参数为用户,第二个参数为组。chown test a.txt, 将a.txt的所有者更改为。

groupadd 组名

添加新的组名

usermod -g 组名:用户名

改变用户所在的组。

权限说明

-rwxrw-r-

  • 第0位 确定文件类型(d,-,l,c,b) d:目录,-:普通文件, l:软连接,c:字符设备(键盘、鼠标),b:块文件,硬盘
  • 第1-3位 确定所有者拥有的文件权限 –User
  • 第4-6位 确定所在组拥有的该文件的权限 –Group
  • 第7-9位 确定其他用户拥有该文件的权限 –Other

rwx说明

  • r 读(4)
  • w 写(2)
  • x 可执行(1)

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
其它信息:
1: 硬链接或者子目录个数
root: 用户
root: 组
1213: 文件的大小(字节)
Feb 2 09:39: 最后修改日期
abc: 文件名

权限修改-chmod

其中u为用户,g为组,o为other,a为所有
(1)方式一: + ,-, =变更

chmod u=rwx,g=rx,o=x 文件/目录名
chmod o + w 文件目录
chmod a - x 文件目录

(2) 方式二: 数字变更

chmod 751 文件目录

等价于

chmod u=rwx,g=rx,o=x 文件目录

修改文件所有者

chown newonwer file 改变文件的所有者

chown newower:newgroup file 改变文件所属的所有者和所有组,-R递归变更。

修改文件所在组

chgrp newgroup file

参数-R,递归修改。

crond任务调度

crontab [options]

  • -e 编辑定时任务
  • -l 查询定时任务
  • -r 删除当前用户的所有定时任务

Share 

 Previous post: linux安装微信 Next post: C-内存和类型 

© 2025 long

Theme Typography by Makito

Proudly published with Hexo