Linux常用指令:
文章目录
- Linux常用指令:
- cd命令:
- clear 命令:
- pwd命令:
- ls命令:
- chmod 命令:
- chown 命令:
- chgrp 命令:
- touch 命令:
- mkdir 命令:
- rm 命令:
- mv命令:
- cp 命令:
- help和man命令:(查看帮助文档)
- which 命令:
- find命令:
- locate 命令:(搜索速度很快,比find快)
- cat 命令:
- more 命令:
- grep 命令:
- echo 命令:
- 管道:(|)
- ln 命令:(软链接)
- vim命令:
- su 命令:
- exit 命令:
- sudo 命令:
- useradd 命令:
- usermod 命令:
- userdel 命令:
- passwd 命令:
- id 命令:
- groupadd 命令:
- groupmod 命令:
- groupdel 命令:
- chsh 命令:
- /etc/group 文件:
- /etc/passwd 文件:
- /etc/shadow 文件:
- /etc/gshadow 文件:
- whoami 命令:
- who 命令:
- ll 命令:
- /etc/group 文件:
- /etc/passwd 文件:
- /etc/shadow 文件:
- /etc/gshadow 文件:
- whoami 命令:
- who 命令:
- ll 命令:
Linux 命令格式:
- cmd -option parameter
- cmd 是命令,option 就是一个操作,parameter 操作的对象
cd命令:
- cd 桌面:进入"桌面"目录
- cd … :返回上级目录
- cd ~:返回当前用户的 home 目录
- cd ~用户名:返回之前用户的 home 目录
- cd -: 和上一次打开的文件夹来回切换
- cd . : 当前的文件夹
clear 命令:
- clear: 清空终端界面
pwd命令:
- pwd:显示当前的路径
ls命令:
- ls:查看文件目录
- ls -f:查看目录中的文件
- ls -a:查看隐藏文件
- ls -l :查看文件和目录的详细资料,可查看文件权限
- ls -i:查看文件和文件夹id
- ll :查看文件和目录的详细资料,类似与ls -l,多了一个 ./ 当前目录和 …/ 上级了目录
- 过滤搜索:
- [abc] :文件夹或文件包含abc任意一个
- 例如: ls [abc].txt —> a.txt
- *:文件夹或文件包含一个或多个字符
- 例如: ls *.txt —> a.txt b.txt aaa.txt
- ?: 文件夹或文件包含某个字符
- 例如: ls ???.js —>alog.js link.js
- [abc] :文件夹或文件包含abc任意一个
chmod 命令:
- chmod [ugoa] [±=] [rwxX] 文件名:
- u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
- + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
- r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
- 例如:chmod u+w /etc/sudoers
- 将sudoers文件添加可写的权限
- 例如:chmod u-wr,g-rw t1.txt
- 将t1.txt 的用户和分组的可读可写权限去掉
- chmod [ugoa] [±=] [数字] 文件名:
- r–4 , w–2 , x–1
- 用数字的和代表权限
- 例如:chmod 777 t1.txt
- 将t1.txt 文件的用户权限、分组权限、其他用户权限全部设为可读可写可执行
- 例如:chmod 467 t1.txt
- 将t1.txt 文件的用户权限设为可读,分组权限设为可读可写,其他用户权限设为可读可写可执行
- 例如:chmod 777 t1.txt
chown 命令:
- chown 用户名 文件名:修改文件的所属者
- 例如:chown user3 t1.txt
- 修改t1.txt 的所有者为user3
- 例如:chown user3 t1.txt
- chown -R 用户名 文件夹名:递归修改文件夹中所有文件的所属者
- 例如:chown -R user3 dd
- 递归修改dd文件夹中所有文件的所属者为user3
- 例如:chown -R user3 dd
chgrp 命令:
- chgrp 组名 文件名:修改文件的所属组
- 例如:chgrp user2 t1.txt
- 修改t1.txt 的所有组为user2
- 例如:chgrp user2 t1.txt
- chgrp -R 组名 文件夹名:递归修改文件夹中所有文件的所属组
- 例如:chgrp -R user2 dd
- 递归修改dd文件夹中所有文件的所属组为user2
- 例如:chgrp -R user2 dd
touch 命令:
- touch 文件名.txt : 创建txt 文本文件(有txt后缀名)
- 例如:touch hello.txt
- touch 文件名: 创建txt 文本文件(没有txt后缀名)
- 例如:touch hello
mkdir 命令:
- mkdir 文件夹名: 创建文件夹
- 例如:mkdir 我的文件夹
rm 命令:
- rm 文件名 : 删除文件
- 例如:rm T1.txt
- rm -d 文件夹名: 删除文件夹,删除空文件夹
- 例如:rm -d 我的文件夹 其中我的文件夹为空文件夹
- rm -r 文件夹名: 删除文件夹,删除文件夹以及里面的内容
- 例如:rm -r aa 其中aa为非空文件夹
mv命令:
- mv 文件 文件夹: 移动文件到文件夹
- 例如:mv test.txt bb mv test2.txt /home/86god/桌面/bb
- mv 文件夹1 文件夹2: 移动文件夹1到文件夹2,若文件夹2不存在,相当于重命名
- 例如:mv aa cc mv aa …/
- mv 文件 当前目录/名字: 相当于重命名
- 例如:mv test1.txt ./test3.txt
- mv 文件 指定目录/名字: 移动并重命名
- 例如:mv test1.txt ./test3.txt
cp 命令:
- cp 文件 文件夹: 复制文件到文件夹
- 例如:cp test.txt bb cp test2.txt /home/86god/桌面/bb
- cp -r 文件夹1 文件夹2: 复制文件夹1到文件夹2,若文件夹2不存在相当于复制并重命名
- 例如:cp -r aa cc 将aa复制到cc中
- cp 文件 当前目录/名字: 相当于重命名
- 例如:cp test1.txt ./test3.txt
- cp -r 文件 指定目录/名字: 移动并重命名
- 例如:mv test1.txt ./test3.txt
help和man命令:(查看帮助文档)
- 命令 --help :查看帮助文档
- 例如 :ls --help
- man 命令: 查看帮助文档,分页,比较清晰
- 例如: man ls
which 命令:
- which 命令 : 可以查看命令的文件位置
- 例如:which ls
find命令:
- find 路径 -name 文件名字 :可以在指定目录下搜索文件,输出文件路径
- 例如:find /home/86god/桌面 -name t1.txt
- 例如:find /home/86god/桌面 -name ‘t*’ 模糊搜索要加单引号。
- find 路径 -iname 文件名字 :可以在指定目录下搜索文件,输出文件路径,-i是忽略大小写
- 例如:find /home/86god/桌面 -iname t1.txt
- find 路径 -size +块数 :在指定目录下,查找大于指定块数的文件,注意:一块是512KB。
- 例如:find /home/86god/桌面 -size +1
- find 路径 -size -块数 :在指定目录下,查找小于指定块数的文件,注意:一块是512KB。
- 例如:find /home/86god/桌面 -size -2
- find 路径 -size 块数 :在指定目录下,查找等于指定块数的文件,文件的大小为向上取整,4.5数据块会取5数据块,注意:一块是512KB。
- 例如:find /home/86god/桌面 -size 2
- find 路径 -user 用户名:在指定目录下,查找属于指定用户的文件
- 例如:find /home/86god/桌面 -user 86god
- find 路径 -mmin -分钟数:在指定目录下,查找在几分钟内被修改过的文件
- 例如:find /home/86god/桌面 -mmin -5
- 后面数字的单位是分钟,在5分钟以内被修改的文件
- 例如:find /home/86god/桌面 -mmin -5
- find 路径 -mmin +分钟数:在指定目录下,查找在大于几分钟被修改过的文件
- 例如:find /home/86god/桌面 -mmin +5
- 后面数字的单位是分钟,在5分钟以外被修改的文件
- 类似的还有:
- amin:上次文件被访问的时间
- cmin:上次文件属性(文件权限)被修改的时间
- 例如:find /home/86god/桌面 -mmin +5
- find 路径 -type f : 在指定目录下,查找所有文件
- 例如:find /home/86god/桌面 -type f
- find 路径 -type d : 在指定目录下,查找所有文件夹
- 例如:find /home/86god/桌面 -type d
- find 路径 -type l : 在指定目录下,查找所有链接
- 例如:find /home/86god/桌面 -type l
- find 路径 -inum id编号 : 在指定目录下,查找指定id的对象
- 例如:find /home -inum 34975432
locate 命令:(搜索速度很快,比find快)
- locate 文件名:在全局搜索文件
- 例如:locate t1.txt
- locate 文件夹名:打印文件夹中的所有对象
- 例如:locate cc
- updatedb:更新locate的索引库
- 例如:updatedb
cat 命令:
用法:cat [选项]… [文件]…
将[文件]或标准输入组合输出到标准输出。-A, --show-all 等于-vET
-b, --number-nonblank 对非空输出行编号
-e 等于-vE
-E, --show-ends 在每行结束处显示"$"
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与-vT 等价
-T, --show-tabs 将跳格字符显示为^I
-u (被忽略)
-v, --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外
–help 显示此帮助信息并退出
–version 显示版本信息并退出如果没有指定文件,或者文件为"-",则从标准输入读取。
示例:
cat f - g 先输出f 的内容,然后输出标准输入的内容,最后输出g 的内容。
cat 将标准输入的内容复制到标准输出。
- cat 文本文件名:一次性打印文本文件的内容
- 例如:cat T1.txt
- cat -b 文本文件名:一次性打印文本文件的内容,并对非空行编行号
- 例如:cat -b T1.txt
- cat -n 文本文件名:一次性打印文本文件的内容,并对所有行编行号
- 例如:cat -n T1.txt
more 命令:
选项:
-d 显示帮助,而不是响铃
-f 统计逻辑行数而不是屏幕行数
-l 抑制换页(form feed)后的暂停
-p 不滚屏,清屏并显示文本
-c 不滚屏,显示文本并清理行尾
-u 抑制下划线
-s 将多个空行压缩为一行
-NUM 指定每屏显示的行数为 NUM
+NUM 从文件第 NUM 行开始显示
+/STRING 从匹配搜索字符串 STRING 的文件位置开始显示
-V 输出版本信息并退出
- more 文本文件名:分页打印文本文件内容
- 例如:more T1.txt (可以按回车打印下一行,按空格切换下一页,按b切换上一页,按q退出)
grep 命令:
用法: grep [选项]… PATTERN [FILE]…
在每个 FILE 或是标准输入中查找 PATTERN。
默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。
例如: grep -i ‘hello world’ menu.h main.c正则表达式选择与解释:
-E, --extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE)
-F, --fixed-strings PATTERN 是一组由断行符分隔的定长字符串。
-G, --basic-regexp PATTERN 是一个基本正则表达式(缩写为 BRE)
-P, --perl-regexp PATTERN 是一个 Perl 正则表达式
-e, --regexp=PATTERN 用 PATTERN 来进行匹配操作
-f, --file=FILE 从 FILE 中取得 PATTERN
-i, --ignore-case 忽略大小写
-w, --word-regexp 强制 PATTERN 仅完全匹配字词
-x, --line-regexp 强制 PATTERN 仅完全匹配一行
-z, --null-data 一个 0 字节的数据行,但不是空行Miscellaneous:
-s, --no-messages suppress error messages
-v, --invert-match select non-matching lines
-V, --version display version information and exit
–help display this help text and exit输出控制:
-m, --max-count=NUM NUM 次匹配后停止
-b, --byte-offset 输出的同时打印字节偏移
-n, --line-number 输出的同时打印行号
–line-buffered 每行输出清空
-H, --with-filename 为每一匹配项打印文件名
-h, --no-filename 输出时不显示文件名前缀
–label=LABEL 将LABEL 作为标准输入文件名前缀
-o, --only-matching show only the part of a line matching PATTERN
-q, --quiet, --silent suppress all normal output
–binary-files=TYPE assume that binary files are TYPE;
TYPE is ‘binary’, ‘text’, or ‘without-match’
-a, --text equivalent to --binary-files=text
-I equivalent to --binary-files=without-match
-d, --directories=ACTION how to handle directories;
ACTION is ‘read’, ‘recurse’, or ‘skip’
-D, --devices=ACTION how to handle devices, FIFOs and sockets;
ACTION is ‘read’ or ‘skip’
-r, --recursive like --directories=recurse
-R, --dereference-recursive
likewise, but follow all symlinks
–include=FILE_PATTERN
search only files that match FILE_PATTERN
–exclude=FILE_PATTERN
skip files and directories matching FILE_PATTERN
–exclude-from=FILE skip files matching any file pattern from FILE
–exclude-dir=PATTERN directories that match PATTERN will be skipped.
-L, --files-without-match print only names of FILEs containing no match
-l, --files-with-matches print only names of FILEs containing matches
-c, --count print only a count of matching lines per FILE
-T, --initial-tab make tabs line up (if needed)
-Z, --null print 0 byte after FILE name文件控制:
-B, --before-context=NUM 打印以文本起始的NUM 行
-A, --after-context=NUM 打印以文本结尾的NUM 行
-C, --context=NUM 打印输出文本NUM 行
-NUM same as --context=NUM
–group-separator=SEP use SEP as a group separator
–no-group-separator use empty string as a group separator
–color[=WHEN],
–colour[=WHEN] use markers to highlight the matching strings;
WHEN is ‘always’, ‘never’, or ‘auto’
-U, --binary do not strip CR characters at EOL (MSDOS/Windows)
-u, --unix-byte-offsets report offsets as if CRs were not there
(MSDOS/Windows)‘egrep’即‘grep -E’。‘fgrep’即‘grep -F’。
直接使用‘egrep’或是‘fgrep’均已不可行了。
若FILE 为 -,将读取标准输入。不带FILE,读取当前目录,除非命令行中指定了-r 选项。
如果少于两个FILE 参数,就要默认使用-h 参数。
如果有任意行被匹配,那退出状态为 0,否则为 1;
如果有错误产生,且未指定 -q 参数,那退出状态为 2。
- grep 搜索内容 文件名: 在指定文本搜索指定内容,若找到,则返回内容行
- 例如:grep username T1.txt
- grep -n 搜索内容 文件名: 在指定文本搜索指定内容,若找到,则返回内容行及行号。
- 例如:grep -n username T1.txt
- grep -v 搜索内容 文件名: 在指定文本反向搜索指定内容,打印不包含指定内容的行。
- 例如:grep -v username T1.txt
- grep ^搜索内容 文件名:在指定文本搜索以指定内容开头的行。
- 例如:grep ^’#’ /etc/services
- grep 搜索内容$ 文件名:在指定文本搜索以指定内容结束的行。
- 例如:grep s$ /etc/services
- grep -i 搜索内容 文件名:在指定文本搜索以指定内容结束的行,指定内容不区分大小写
- 例如:grep -i abc T1.txt
echo 命令:
- echo 输入内容:回显输入内容,把输入的内容输出到屏幕
- 例如 : echo sdasda
- echo 输入内容 > 文本文件名:把输入内容,打印到指定文件。若指定文件已经存在则会覆盖重新里面的内容;若指定文件不存在,则会创建新文件。
- 例如:echo hello world > t1.txt
- echo 输入内容 >> 文本文件名:把输入内容,追加到指定文件。若指定文件已经存在则会追加到里面的内容的后面;若指定文件不存在,则会创建新文件。
- 例如:echo hello world >> t1.txt
- 指令获取的内容 > 文本文件名:把使用指令获取的文本覆盖到指定文件。只要前面的指令有返回结果都可以覆盖到指定文件中。
- grep -i abc T1.txt > t11.txt
- ls > t11.txt
- 指令获取的内容 >> 文本文件名:把使用指令获取的文本追加到指定文件。只要前面的指令有返回结果都可以追加到指定文件中。
- grep -i abc T1.txt >> t11.txt
- ls >> t11.txt
管道:(|)
- 指令1获取内容 | 指令2没有输入:把指令1获取的输出内容作为指令2的输入。
- 例如:ls -lh | grep t11
- 把ls -lh获取到的输出内容作为grep t11 的输入内容,
- 比如ls -lh获取到存放到临时文件ttt.txt , ls -lh > ttt.txt
- -rw-rw-r–. 1 86god 86god 617 5月 22 11:04 t11.txt
-rw-rw-r–. 1 86god 86god 12 5月 22 10:55 t1.txt
-rw-rw-r–. 1 86god 86god 1.2K 5月 22 10:46 T1.txt
- -rw-rw-r–. 1 86god 86god 617 5月 22 11:04 t11.txt
- 则会作为 grep t11 的输入:grep t11 ttt.txt
- grep t11 ttt.txt
- 比如ls -lh获取到存放到临时文件ttt.txt , ls -lh > ttt.txt
- 把ls -lh获取到的输出内容作为grep t11 的输入内容,
- 例如:grep -v ^’#’ /etc/services | more
- 把获取的内容以分页的形式呈现
- 例如:grep -v ^’#’ /etc/services | grep update
- 把获取的内容进行筛选
- 例如:ls -lh | grep t11
ln 命令:(软链接)
- ln 文件路经文件名称1 文件路经文件名称2:把文件1在文件2的位置创建软链接,类似于快捷方式。两个文件的内容是互通的。
- 例如:ln bb/test.txt test_softLink
- 在当前目录创建bb/test.txt的软链接
- 例如:ln bb/test.txt test_softLink
vim命令:
- vim 文件:用编辑器打开文本文档
- 例如:vim /etc/passwd
- 查看密码文档
- 例如:vim /etc/passwd
su 命令:
- su 用户名:切换到指定用户,当前用户会挂起
- 例如:su user1
- 切换到用户 user1
- 例如:su user1
- su - 用户名:切换到指定用户,并切换到home/用户 目录,相当于登录,会有上次登录时间的提醒,当前用户会挂起
- 例如:su - user1
- 切换到用户 user1,并将当前路径切换至/home/user1
- 例如:su - user1
exit 命令:
- exit:退出切换的用户,唤醒当前用户
- 按
ctrl
+D
可以达到相同的效果
- 按
sudo 命令:
- sudo 指令命令:利用超管身份运行命令
- 例如:sudo useradd user1
- 利用超管身份添加用户
- 例如:sudo passwd user1
- 利用超管身份修改用户user1 密码
- 例如:sudo useradd user1
使用sudo命令,若是出现“不在sudoers文件中,此事将被报告”的问题,
参考这篇文章解决:https://zhuanlan.zhihu.com/p/143388819
useradd 命令:
- useradd 用户名:添加用户
- 例如:useradd user1
- 添加用户user1(一般超管才有这权限)
- 例如:useradd user1
- useradd -m 用户名:添加用户并在home文件夹创建
- 例如:useradd -m user1(一般超管才有这权限)
- 添加用户user1并在home文件夹创建
- 例如:useradd -m user1(一般超管才有这权限)
- useradd -g 组名 用户名:添加用户并且添加到指定分组
- 例如:sudo useradd -g3 user4
- 添加用户user4到g3分组下,g3是组名
- 例如:sudo useradd -g3 user4
usermod 命令:
- usermod -l 新用户名 原用户名:修改用户名
- 例如:usermod -l 88god user2
- 将user2用户名改为88god
- 例如:usermod -l 88god user2
- usermod -g 组名 用户名:把用户移动到另一个分组
- 例如:usermod -g user2 user3
- 将user3的移动到user2分组
- 例如:usermod -g user2 user3
- usermod -G 组1,组2…… 用户名:给用户修改附加组
- 例如:usermod -G user2,86god user3
- 把user3的附加组修改为user2和86god
- 例如:usermod -G user2,86god user3
- usermod -s shell路径 用户名:给用户修改shell
- 例如:usermod -s /bin/sh user3
- 把user3的shell改为/bin/sh
- 例如:usermod -s /bin/sh user3
userdel 命令:
- userdel 用户名:删除用户
- 例如:userdel user3
- 删除用户user3
- 例如:userdel user3
- userdel -r 用户名:删除用户并删除该home目录
- 例如:userdel -r user3
- 删除用户user3并删除home目录
- 例如:userdel -r user3
- userdel -f 用户名:强制删除用户
- 例如:userdel -f user3
- 强制删除用户user3
- 例如:userdel -f user3
passwd 命令:
-
passwd 用户名:修改用户密码
- 例如:passwd user1 修改用户user1 密码(一般超管才有这权限)
-
passwd :设置当前用户密码
id 命令:
- id 用户名:查看用户信息,包括分组编号、id编号和环境
- 例如:id user1
- 查看user1的信息,包括分组编号(gid)、id编号(uid)和环境
- 例如:id user1
groupadd 命令:
- groupadd 组名:添加创建分组
- 例如: groupadd g1
- 创建分组g1,通过cat /etc/group 可查看所有分组
- 例如: groupadd g1
groupmod 命令:
- groupmod -n 新组名 原组名:修改组名
- 例如:groupmod -n gnewName g1
- 将 g1分组的名字改为 gnewName
- 例如:groupmod -n gnewName g1
groupdel 命令:
- groupdel 组名:删除分组
- 例如:groupdel gnewName
- 删除gnewName 分组
- 例如:groupdel gnewName
chsh 命令:
- chsh -l :查看所有的shell
- 相当于:cat /etc/shells
- chsh 用户名:修改用户的shell
- 例如:chsh user3
- 会让输入修改后的shell路径
- 例如:chsh user3
/etc/group 文件:
- 配置当前系统的用户组
- 组名
- 组密码标志
- GID
- 组中的附加用户
/etc/passwd 文件:
- 配置当前用户的,以及用户的密码,密码在影子文件里
- 用户名
- 密码标志
- UID
- GID
- 用户全名
- 家目录
- 使用的shell
/etc/shadow 文件:
- 用户密码的影子文件,里面存放加密后的密码
/etc/gshadow 文件:
- 用户分组密码的影子文件,里面存放加密后的用户分组密码
whoami 命令:
- 查询目前终端登录的用户
who 命令:
- 查询目前计算机登录的用户
ll 命令:
- 查看当前目录文件以及权限
- 权限:一共10位
- 第一位:d或者-,d代表文件夹,-代表二进制文件
- 后9位分为三组:rwx,r——可读,w——可写,x——可执行
- 2-4位:文件所属用户的权限
- 5-7位:用户组的权限
会让输入修改后的shell路径
- 权限:一共10位
/etc/group 文件:
- 配置当前系统的用户组
- 组名
- 组密码标志
- GID
- 组中的附加用户
/etc/passwd 文件:
- 配置当前用户的,以及用户的密码,密码在影子文件里
- 用户名
- 密码标志
- UID
- GID
- 用户全名
- 家目录
- 使用的shell
/etc/shadow 文件:
- 用户密码的影子文件,里面存放加密后的密码
/etc/gshadow 文件:
- 用户分组密码的影子文件,里面存放加密后的用户分组密码
whoami 命令:
- 查询目前终端登录的用户
who 命令:
- 查询目前计算机登录的用户
ll 命令:
- 查看当前目录文件以及权限
- 权限:一共10位
- 第一位:d或者-,d代表文件夹,-代表二进制文件
- 后9位分为三组:rwx,r——可读,w——可写,x——可执行
- 2-4位:文件所属用户的权限
- 5-7位:用户组的权限
- 8-10位:其他用户的权限
- 权限:一共10位