目录
Linux下添加新用户
Linux下的复制粘贴
ls指令(查看目录内容)
ls -a 列出目录下所有的文件,包含隐藏文件。
ls -A 列出除.及..的其它文件,包含隐藏文件。
编辑
ls -l 列出所有文件详细信息,不包含隐藏文件。
ls -d 将目录像文件一样显示。而不是显示目录下的文件。
ls -n :用数字的UID和GID代替名称。
ls -1 :一行只输出一个文件。
ls -R递归列出所有子目录下的文件。
ls -F:在列出的文件名称后加一符号;
ls -t 将文件依建立时间之先后次序列出
ls -r 将文件以相反次序显示(原定依英文字母次序)
ls -S 以文件大小排序。
ls -h 以易读大小显示
ls通配符
ls * 列出全部文件(递归列出)
ls test.? 列出1开头的、并且扩展名是1个字符的文件
ls test.?* 列出1 开头的、并且扩展名是至少1个字符的文件
编辑
ls ?.c*列出扩展名之前是单个字符,并且扩展名部分的第一个字符是 c 的文件
编辑
ls *.h 列出所有扩展名为h的文件
ls *.* 列出所有带有扩展名的文件
ls [1-3].h 列出文件名是1-3中的1个字符、并且扩展名是 h 的文件
ls *.[^c]* 列出具有扩展名、并且扩展名首字母不是 c 的所有文件
ls [1-3].[ch] 列出文件名是1-3中的1个字符、并且扩展名是 c 或 h 的文件
pwd指令
pwd显示当前路径。
编辑
pwd -p 查看软链接的实际路径
cd指令
cd [绝对路径] 切换到指定的工作目录下
cd [相对路径] 切换到指定的工作目录下
cd ../ 切换到上级目录
cd ~ 返回到用户家目录。
cd - 返回到最近一次访问的目录。
stat指令
touch指令
touch [一个或者多个不存在的文件名] 创建普通文件。
touch -c [普通文件或者目录名]: 避免创建新文件
touch [已经存在的文件或者目录]:更改文件的访问时间和修改时间。
touch -a [已存在的文件或者目录] :仅更改此文件的访问时间.
touch -m [已存在的文件] :显示修改时间已更改为使用'-m'选项运行touch命令的时间
mkdir指令
mkdir [目录名] 创建一个新目录
mkdir -p runoob2/test :也是创建目录。
rmdir指令
rmdir [目录名] 删除这个空目录
rmdir -p dir1/dir11/dir111 递归删除目录
rm指令
rm file 删除这个普通文件。
rm -r dir 深处目录及其目录下所有的文件。
rm -f file 强制删除普通文件
rm -rf dir 强制删除目录
rm -ir dir 删除每一个文件前询问是否删除。
man 指令
man [指令或者函数] 查找该指令的信息(参数,选项等等)
man -a [指令或者函数] 将所有章节的都显示出来。
man 2 [指令或者函数] :在第二章搜索对应的指令或者函数。
cp指令
cp [源文件相对/绝对路径] 【目标目录】 :复制一个文件到指定目录。
cp -a [源文件相对/绝对路径] 【目标目录】:复制一个文件到指定目录。(并且时间保持一致)
cp -f 强制拷贝
cp -i 拷贝前询问
cp -r [目录] 【目标目录下】将目录拷贝到另一个目录下。
mv指令
mv [文件名] [已存在的文件或者目录]:修改文件或者目录的名称。
mv file1 dir :将file文件剪切到目录
mv -f [file] [dir] :如果目标目录中已经存在file文件,则直接覆盖 。
mv -i [file] [dir] :如果目标目i录中已经存在file文件,询问是否覆盖。
mv * ../:移动当前文件夹下所有的文件到上级目录。
cat 指令
cat file 查看文件内容
cat -n file 查看文件并编号。
cat -b file 查看文件对非空行进行编号
cat -s file 不输出多行空行
tac //倒过来打印
cat > filename :从键盘新建一个文件。
cat file1 file2 > file 将几个文件合并为一个文件
cat -n file > file3 把file里面的内容加上行号输入到file3里面去。
more 指令
more 【指定文件】 :
more +3 file c从第三行开始显示
ll | more -5 在所列出文件目录详细信息,借助管道使每次显示 5 行
less 命令
head指令
head file -n 20 或者 head -n 20 test 显示 file文件中前 20 行
head -c 20 file 显示 file 文件前 20 字节
tail指令
tail 10 file : 显示文件的后 10 行
which 命令
which ls 查看ls可执行文件(指令)的位置。编辑
find 指令
find -name filename :按照文件名称来查找文件。
find -atime -2 查找 48 小时内修改过的文件
find ./ -name '*.log' 在当前目录查找 以 .log 结尾的文件。
find /opt -perm 777 查找 /opt 目录下 权限为 777 的文件
find -size +1000c 查找大于 1K 的文件
find -size 1000c 查找等于 1000 字符的文件
find . -type f -mtime +10 -exec rm -f {} \;
find . -name '*.log' mtime +5 -ok -exec rm {} \;
find . -f -name 'passwd*' -exec grep "pkg" {} \;
find . -name '*.log' -exec cp {} test3 \; 用 exec 选项执行 cp 命令
find . -type f -print | xargs file
find . -type f -name "*.js" -exec grep -lF 'ueditor' {} \;find -type f -name '*.js' | xargs grep -lF 'editor'
find . -name "*.log" | xargs -i mv {} test4
grep 指令
grep '字符串’ file 在file文件里面查找 字符串。
grep -lR '^grep' /tmp
grep '^[^x]' test.txt
zip 指令
zip test.zip test :将test文件压缩为test.zip
zip -r dir1.zip dir1 :将目录dir1 压缩为 dir1.zip
unzip 指令
unzip test.zip 将文件或者目录解压到当前目录
unzip test.zip -d dir1/ 将test.zip压缩包解压缩的 dir1 目录下
cal 命令
cal 11 2022 显示指定年月日期编辑
cal -y 2022 显示2013年每个月日历编辑
cal -3m 将星期一做为第一列,显示前中后三月
date 指令
tar指令
tar -czf my.tgz [文件或者目录]
tar -xzf my.tgz
tar -tf my.tgz
bc指令
uname 指令
[Tab],[ctrl]-c, [ctrl]-d 指令
shutdown [选项] ** :关机
ctrl+r
lscpu
lsmem
df -h
who
whoami
top
netstat
free
df
clear
stat 【文件名】
cat
echo
nano
sort 【文件】
uniq 【文件】
alias
wc
whereis 字符
我们直到linux和windows一样都是多用户系统。一个超级用户,带一群普通用户。
adduser [新建用户名] :添加一个新用户。
passwd [用户名] :给用户改密码。(不写用户名默认修改root用户的密码)
userdel -r [用户名] :删除用户。
复制:ctrl+insert(有些同学需要配合fn来使用)
粘贴:shift+insert
不能使用ctrl+c / ctrl+v。
- ls 是英文单词 list 的简写,其功能为列出目录的内容,是用户最常用的命令之一,类似于 DOS下的 dir 命令。
- Linux 文件 或者 目录 名称最长可以有 256 个字符参数 含义。
- 以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示。
- . 代表当前目录。
- … 代表上一级目录。
- 一个文件包含文件内容和文件属性,一个空文件或者空目录也需要占有磁盘空间。文件分为普通文件和目录。
- 可以说linux下一切皆文件。
ls也是显示所有文件,但是不包含隐藏文件。(一般白色的是普通文件,蓝色的是目录,绿色的是可执行文件,可能不同发行版本不同,但是大同小异。)
可以和上面的 -a 形成对比。可简写为 ll
一般是未来看目录的详细信息的 。配合 ls -ld [指定目录]看目录的详细属性。
可执行档则加 :"*", 目录则加 :"/" , 符号连接加:"@" , FIFOs加:"|" , 套接字加:"=" 。
可以和别的选项配合起来用。
注意:大写。
例如:4096 显示为 4.0k
都是递归列出。和 ls -R还是有一定的区别的。
注意:(此处认为文件名全名中带有.就是有扩展名)
如何列出不带扩展名的文件呢?我需要借助grep。后面有详细讲解。
改变工作目录,将当前工作目录改变到指定的工作目录下。指定的工作目录可以是相对路径和绝对路径。
相对路径 在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的目录位置
绝对路径 在输入路径时,最前面是 / 或者 ~,表示从 根目录/家目录 开始的具体目录位置~表示家目录,/表示根目录。
加不加 最后的 “/” 无所谓。
普通用户到/home/zxf 。超级用户到/root
以文字的格式来显示 inode 的内容。这里不仅可以查看普通文件也可也查看目录。
我们可以看到这里有三种时间简单介绍一下这三个时间:
Access最近一次访问时间。
Modify最近一次内容修改时间。
Change最近一次改动(各种属性)时间。
一般Modify被修改,Change也会被修改,因为文件的大小也是文件属性的一种。Access并不是每一次访问都会修改,因为访问的次数要远远大于修改的次数。Linux认为这是一个负担,所有多次访问的时候才会去修改,或者多次访问后会被修改,一般也没人看这个访问时间。
1,可以修改文件(普通文件和目录)的日期时间,包括取存时间和更改时间
2,新建一个普通文件。
如果文件已经存在了,直接修改访问时间和修改时间到当前时间。
如果文件不存在,就会避免创建新文件,不创建新文件。
将访问和修改时间更改为再次为“linuxmi”运行touch命令的时间
显示访问时间已更改为我使用'-a'选项运行touch命令的时间
注意:这里虽然只是修改了 ,最后一次的访问时间,但是属性改变时间也被改变了,说明,最后一次访问时间也是文件属性。
注意:一般内容修改时间变了,属性修改时间也会跟着变。但是访问时间变不变不知道。不同的发行版可能不同。
创建目录的指令
注意:在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。
若 runoob2 目录原本不存在,则建立一个 runoob2。
注意:只能删除空目录
注意:dir1/dir11/dir111无其他普通文件,和mkdir相对应。
当 parent 子目录被删除后使它也成为空目录的话,则顺便一并删除
注意:会停在有其他文件的目录。
删除文件或者目录的指令。默认删除普通文件。
以上略
安装:sudo yum install -y man-pages (安装man手册)
再Linux中有一个手册,存放这一些指令,系统调用接口的函数和C语言的库函数等等。手册一共八章。可以查询一些信息,帮助我们。
第一章:普通指令。
第二章:系统调用。
第三章:C语言的库。
...............(后面的不常用,就不赘述了)
进入一个页面
q退出。
缺省是从第一章开始搜索,按q不会退出而是继续向后搜索,直到全部显示完。
复制文件或者目录,命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖。
这里的和rm相同。
覆盖前询问,没有覆盖别的文件就不询问。
修改文件名称和移动文件(剪切)。
当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。
注意:这里dir必须是已经存在的目录。这里第一个参数可以是多个文件或者目录。
其他:
mv file ~ :将文件剪切到家目录。
mb ~/file ./ :将家目录的文件剪切到当前目录。
查看目标文件内容
只能创建新文件,不能编辑已有文件。
cat -b file1 file2 > file
把 file1和file2 的文件内容加上行号(空白行不加)之后将内容附加到 file里
查看指定文件内容.
功能类似于 cat, more 会以一页一页的显示方便使用者逐页阅读。
Enter 向下 n 行,需要定义。默认为 1 行 Ctrl+F 向下滚动一屏 空格键 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 V 调用vi编辑器 !命令 调用Shell,并执行命令 q 退出more
和上面相同。
按空格显示下 5 行
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
-i 忽略搜索时的大小写 -N 显示每行的行号 -o <文件名> 将less 输出的内容在指定文件中保存起来 -s 显示连续空行为一行 /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能 n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ? 有关) -x <数字> 将“tab”键显示为规定的数字空格 b 向后翻一页 d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行 空格键 滚动一行 回车键 滚动一页 [pagedown]: 向下翻动一页 [pageup]: 向上翻动一页
head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
-f 循环读取(常用于查看递增的日志文件) -n<行数> 显示行数(从后向前)
在 linux 要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:
which 查看可执行文件的位置。 whereis 查看文件的位置。 locate 配合数据库查看文件位置。 find 实际搜寻硬盘查询文件名称。
whereis 也是一个指令,有意向的可以去学一下。
用于在文件树中查找文件,并作出相应的处理。
-name 按照文件名查找文件 -perm 按文件权限查找文件 -user 按文件属主查找文件 -group 按照文件所属的组来查找文件。 -type 查找某一类型的文件,诸如: b - 块设备文件 d - 目录 c - 字符设备文件 l - 符号链接文件 p - 管道文件 f - 普通文件 -size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小 -amin n 查找系统中最后N分钟访问的文件 -atime n 查找系统中最后n*24小时访问的文件 -cmin n 查找系统中最后N分钟被改变文件状态的文件 -ctime n 查找系统中最后n*24小时被改变文件状态的文件 -mmin n 查找系统中最后N分钟被改变文件数据的文件 -mtime n 查找系统中最后n*24小时被改变文件数据的文件 (用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 ) -maxdepth n 最大查找目录深度 -prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略 -newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项
找到会返回找到文件的路径。
在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒)
-exec 参数后面跟的是 command 命令,它的终止是以 ; 为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。
当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。 按y键删除文件,按n键不删除
当前目录下查找文件名以 passwd 开头,内容包含 "pkg" 字符的文件
找到以。log结尾的文件,复制到 test3 路径下。
查找当前目录下每个普通文件,然后使用 xargs 来判断文件类型
-xargs find 命令把匹配到的文件传递给 xargs 命令,而 xargs 命令每次只获取一部分文件而不是全部,不像 -exec 选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
查找当前目录下所有以 js 结尾的并且其中包含 'editor' 字符的普通文件
利用 xargs 执行 mv 命令
在文件中搜索字符串,将找到的行打印 下来。
-A n --after-context显示匹配字符后n行 -B n --before-context显示匹配字符前n行 -C n --context 显示匹配字符前后n行 -c --count 计算符合样式的列数 -i 忽略大小写 -l 只列出文件内容符合指定的样式的文件名称 -f 从文件中读取关键词 -n 显示匹配内容的所在文件中行数 -R 递归查找文件夹
^ #锚定行的开始 如:'^grep'匹配所有以grep开头的行。 $ #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。 . #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。 * #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。 .* #一起用代表任意字符。 [] #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。 [^] #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。 \(..\) #标记匹配字符,如'\(love\)',love被标记为1。 \< #锚定单词的开始,如:'\#锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。 x\{m\} #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。 x\{m,\} #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。 x\{m,n\} #重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。 \w #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。 \W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。 \b #单词锁定符,如: '\bgrep\b'只匹配grep。
这个字符串可以不完全字符串。
从文件夹中递归查找以grep开头的行,并只列出文件
查找非x开关的行内容
zip将目录或者文件压缩成 .zip 格式的文件。
安装:sudo yum install zip unzip
注意:在打包目录的时候 一定要加 -r 选项。默认只是打包这个目录。加 -r 后就是打包目录及其目录下的文件。
- -A 调整可执行的自动解压缩文件。
- -b<工作目录> 指定暂时存放文件的目录。
- -c 替每个被压缩的文件加上注释。
- -d 从压缩文件内删除指定的文件。
- -D 压缩文件内不建立目录名称。
- -f 更新现有的文件。
- -F 尝试修复已损坏的压缩文件。
- -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
- -h 在线帮助。
- -i<范本样式> 只压缩符合条件的文件。
- -j 只保存文件名称及其内容,而不存放任何目录名称。
- -J 删除压缩文件前面不必要的数据。
- -k 使用MS-DOS兼容格式的文件名称。
- -l 压缩文件时,把LF字符置换成LF+CR字符。
- -ll 压缩文件时,把LF+CR字符置换成LF字符。
- -L 显示版权信息。
- -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
- -n<字尾字符串> 不压缩具有特定字尾字符串的文件。
- -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
- -q 不显示指令执行过程。
- -r 递归处理,将指定目录下的所有文件和子目录一并处理。
- -S 包含系统和隐藏文件。
- -t<日期时间> 把压缩文件的日期设成指定的日期。
- -T 检查备份文件内的每个文件是否正确无误。
- -u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
- -v 显示指令执行过程或显示版本信息。
- -V 保存VMS操作系统的文件属性。
- -w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
- -x<范本样式> 压缩时排除符合条件的文件。
- -X 不保存额外的文件属性。
- -y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
- -z 替压缩文件加上注释。
- -$ 保存第一个被压缩文件所在磁盘的卷册名称。
- -<压缩效率> 压缩效率是一个介于1-9的数值。
把压缩包解压缩到指定目录。
安装:sudo yum install zip unzip
- -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
- -f 更新现有的文件。
- -l 显示压缩文件内所包含的文件。
- -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
- -t 检查压缩文件是否正确。
- -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
- -v 执行时显示详细的信息。
- -z 仅显示压缩文件的备注文字。
- -a 对文本文件进行必要的字符转换。
- -b 不要对文本文件进行字符转换。
- -C 压缩文件中的文件名称区分大小写。
- -j 不处理压缩文件中原有的目录路径。
- -L 将压缩文件中的全部文件名改为小写。
- -M 将输出结果送到more程序处理。
- -n 解压缩时不要覆盖原有的文件。
- -o 不必先询问用户,unzip执行后覆盖原有文件。
- -P<密码> 使用zip的密码选项。
- -q 执行时不显示任何信息。
- -s 将文件名中的空白字符转换为底线字符。
- -V 保留VMS的文件版本信息。
- -X 解压缩时同时回存文件原来的UID/GID。
- [.zip文件] 指定.zip压缩文件。
- [文件] 指定要处理.zip压缩文件中的哪些文件。
- -d<目录> 指定文件解压缩后所要存储的目录。
- -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
- -Z unzip -Z等于执行zipinfo指令。
可以用户显示公历(阳历)日历如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份:
-3 显示前一月,当前月,后一月三个月的日历 -m 显示星期一为第一列 -j 显示在当前年第几天 -y [year]显示当前年[year]份的日历
显示或设定系统的日期与时间。
打开/解包 不打开它查看内容。
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
把对应的文件或者目录压缩到 my.tgz中
把my.tgz解压到当前文件夹。
不解压缩,直接查看文件内容
计算器,ctrl+c 退出
获取电脑操作系统相关信息。
uname -a :列出全部信息。
[Tab]按键---具有『命令补全』和『档案补齐』的功能
[Ctrl]-c按键---让当前的程序『停掉』
[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可 以用来取代exit
** -h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
搜索历史命令
查看内存信息
查看内存信息
查看磁盘信息
参看那些用户在线
当前用户是谁
查看cpu使用情况
查看网络连接
查看内存资源状态
查看磁盘分区资源状态
清屏
查看文件更加详细的信息
查看文件内容
将信息显示到显示器的命令和printf差不多 可以格式化
linux下的记事本
对指定文件每一行按照首元素进行排序
去点重复的行只保留一行。
对指令起别名
统计行数,字节数----
匹配搜索,搜索名字中存在该字符的文件都显示