dukejunior
——未来程式工作室

总结

01、

02、

03、

04、

05、

06、

07、

08、

09、

10、

01、文件描述符:是内核为了高效管理已被打开的文件所创建的索引,用于指向被打开的文件,所有执行 I/O 操作的系统调用都通过文件描述符

02、vim /etc/passwd | ps -axu | grep passwd | ll /proc/4602/fd 一个进程启动时,都会打开 3 个文件:标准输入、标准输出和标准出错处 理。这 3 个文件分别对应文件描述符为 0、1 和 2 也就是宏替换 STDIN_FILENO、STDOUT_FILENO 和 STDERR_FILENO。

03、 ulimit -n 2048 #修改一个进程最多可以同时打开的文件数为 2048;ulimit -n #查看一个进程最多可以同时打开的文件数

04、 cat /proc/cpuinfo > cpu.txt #表示将标准输出的内容,写到后面的文件中,如果此文件名已经存在,将会覆盖原文件中 的内容

05、 uname -a >> cpu.txt #表示将标准输出的内容,追加到后面的文件中。若重定向的输出的文件不存在,则会新建该文 件

06、 > cpu.txt #清空一个文件

07、输入重定向:将命令中接收输入的途径由默认的键盘改为其他文件.而丌是等待从键盘输入;grep root /etc/passwd;grep root < /etc/passwd

08、mysql -uroot -p123456 < xuegod.sql #将 xuegod.sql 导入 mysql 数 据库中

09、EOF 本意是 End Of File,表明到了文件末尾;<<EOF后续子命令或子 shell 的输入,直到遇到”EOF“,再次返回到主调 shell,可将其理解为分界符;”EOF“必须成对出现且不 能和 shell 命令冲突

10、 cat > a.txt < dfsd > sdfs > sdf > dfs > EOF

11、cat a.txt < eof > EOF > ccc 以 ccc 作为分界符

12、 vim p.sh #写入以下内容 #!/bin/bash cat <

13、错误重定向符号:2> 标准输入: 0< 或简写 < 标准输出: 1> 或简写; >2 指的是标准错误输出的文件描述符 (在使用标准的输入和输出省略了 1、0 编号)

14、ls /etc/passwd xxx 2> a.txt | 使用 2> 操作符时,会像使用 > 一样覆盖目标文件的内容,若追加而不覆盖文件的内容即可使用 2>> 操 作符

15、echo aaaa > /dev/null | /dev/null 看作"黑洞",所有写入它的内容都会永进丢失; cat /dev/null #什么信息也看不到

16、 dd if=/dev/zero of=b.txt bs=1M count=50 | 在类 UNIX 操作系统中, /dev/zero 是一个特殊的文件,当你读它的时候,它会提供无限的空 字符(NULL, ASCII NUL, 0x00)。典型用法是用它来产生一个特定大小的空白文件

17、dd用于复制文件并对原文件的内容进行转换和格式化处理;if 代表输入文件。如果不指定 if,默认就会从 stdin 中读取输入。 of 代表输出文件。如果不指定 of,默认就会将 stdout 作为默认输出。 bs 代表字节为单位的块大小count 代表被复制的块数

18、ls /tmp xxxx >ok.txt 2> err.txt | 正确的内容写入一个文件,错误的写入一个文件

19、ls /tmp xxxx 2>2.txt 1>&2 或 cat /etc/passwd /etc/xxxx &> a.txt | &表示等同于的意思 | 1>&2 把标准输出重定向到标准错误;2>&1 把标准错误重定向到标准输出

20、cat /etc/passwd >/dev/null 2>&1 注:将标准输出和错误输出全部重定向到/dev/null 中,也就是将产生的所有信息丢弃

21、 ps -axu | grep sshd;管道 |命令只处理前一个命令正确输出,不处理错误输出;管道右边的命令,必须能够接收标准输入的数据流命令才行;管道符可以把两条命令连起来,它可以链接多个命令使用

22、(了解)df -h | tee -a disk.log 将文件系统使用的信息追加到文件;-a, --append 内容追加到给定的文件而非覆盖

23、which 查看可执行文件的位置;whereis 查看可执行文件的位置及相关文件;locate 配合数据库缓存,快速查看文件位置;grep 过滤匹配,它是一个文件搜索工具;find 查找相关文件

24、grep "nologin\|root" /etc/passwd | wc -l(注:\ 表示转义符)使用正则表达式来搜索文本: -v 取反;-i 忽略大小写;^# 以#开头;#$ 以#结尾;^$ 空行;-n 对过滤的内容加上行号;|或者的意思

25、egrep "nologin|root" /etc/passwd | wc -l #查看包括nologin或root的行;注:egrep 是 grep加强版本

26、wc命令用来计算数字;-c或--bytes或——chars:只显示Bytes数; -l或——lines:只显示列数; -w或——words:只显示字数。

27、find查找(必会): -name  按照文件名查找文件,“名称”; -perm  按照文件权限来查找文件,666 777; -user  按照文件属主来查找文件; -group  按照文件所属的组来查找文件; -mtime -n / +n  按照文件的更改时间来查找文件,- n 表示文件更改时间距现在n天以内;+ n 表示文件更改时间距现在n天以前 -type 查找某一类型的文件:b - 块设备文件;d - 目录;c - 字符设备文件;p - 管道文件;L - 符号链接文件;f - 普通文件;-size n 查找符合指定的文件大小的文件;-exec 对匹配的文件执行该参数所给出的其他linux命令, 相应命令的形式为' 命令 {} \;,注意{ }和 \;之间的空格,{}代表查到的内容

28、mtime: 文件最后一次修改的时间;atime: 最后一次访问时间;ctime: 文件的最后一次变化时间,也就是修改时间

29、find . -name "*.back" -exec ls -l {} \; -exec 这个选项参数后面{}可以替换-exec前面的命令

30、find . -name "*.txt" | xargs -i cp {} /opt;-i 表示 find 传递给xargs的结果 由{}来代替 (了解)

31、比较符:-a and 并且、-o or 或者、+ 超过、- 低于; find . -name "*.sh" -o -name "*.pdf";find /etc -size +20k -a -size -50k | wc -l;find /etc -size +20k | wc -l

32、find /bin/ -perm -644 #-perm -644 至少有644权限的文件或目录

33、对于特殊权限,需要在最前面增加一位,suid:4,sgid:2,sticky:1;find /root/ -perm 4777

34、-maxdepth 1 #只查找目录第一层的文件和目录; find /bin/ -maxdepth 1 -perm 755 #/bin后面要有/

35、 find / -user mk -exec cp -a {} /root/findresults/ \;cp -a #复制时,保留原来文件的所有属性

36、无法以目录"/home/mk" 来覆盖非目录"/root/findresults/mk";同一个目录下,不可以创建文件mk和文件夹mk,同一个目录下创建的文件名和目录名不可以一样

37、/var/spool/mail/mk 和/home/mk 的名字是一样的。 而两者都要复制到/root/findresults/下,先复制了/var/spool/mail/mk,所以/home/mk就不能复制了。mv /var/spool/mail/mk /var/spool/mail/mk.mail;rm -rf /root/findresults/*;find / -user mk -exec cp -a {} /root/findresults/ \;mv /var/spool/mail/mk.mail /var/spool/mail/mk

38、运算顺序:LINUX执行命令,是从左到右一个一个执行,从上到下执行;";"(分号)不考虑指令的相关性,连续执行,不保证命令全部执行成功的, sync ; shutdown -F;&& (逻辑与)它是只有在前面的命令执行成功后,后面的命令才会去执行,./configure && make -j 4 && make install

39、||(逻辑或)如果前面的命令执行成功,后面的命令就不去执行了;或者前面执行不成功,才会去执行后面的命令; ls /etc/passwd || cd /etc

posted on 2019-10-28 11:03  公爵二世  阅读(119)  评论(0)    收藏  举报