[root@sc-changsha wuxia]# file /dev/sda1  查看文件的类型
d  -->目录  directory
l  --》链接文件  link
-  --》普通的文件
c  --》字符设备文件   character
b  --》块设备文件     block
s  --》socket文件    socket  套接字(槽)
p  --》管道文件      pipe 

进程和进程通信的方式:
1.信号量
2.信号
3.共享内存
4.管道 pipe---->ps aux|grep bash
5.socket 套接字(接口,槽)--->文件
6.消息队列

[root@sc-changsha wuxia]# yum install mariadb mariadb-server -y
[root@sc-changsha wuxia]# service mariadb start
Redirecting to /bin/systemctl start mariadb.service
[root@sc-changsha wuxia]#
[root@sc-changsha wuxia]# ps aux|grep mysqld
mysql     16686  1.0  4.8 1756668 88924 ?       Ssl  10:12   0:00 /usr/libexec/mysqld --basedir=/usr
root      16750  0.0  0.0  12320  1104 pts/0    S+   10:12   0:00 grep --color=auto mysqld
[root@sc-changsha wuxia]#

mysqld----->mysql的守护进程(DAEMON)
守护进程:一直在内存里运行的程序,除非人为停止,不然一直运行
mysql是一个连接到mysql数据库里的客户端命令
-uroot指定使用root用户连接(这是mysql数据库里的root,不是Linux系统里的root)
-p指定密码,默认密码为空

[root@sc-changsha wuxia]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.17-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]>MariaDB [(none)]> exit
Bye
[root@sc-changsha wuxia]#
[root@sc-changsha wuxia]# cd /var/lib/mysql/
[root@sc-changsha mysql]# ll
总用量 122936
-rw-rw----. 1 mysql mysql    16384 6月  28 10:12 aria_log.00000001
-rw-rw----. 1 mysql mysql       52 6月  28 10:12 aria_log_control
-rw-rw----. 1 mysql mysql      972 6月  28 10:12 ib_buffer_pool
-rw-rw----. 1 mysql mysql 12582912 6月  28 10:12 ibdata1
-rw-rw----. 1 mysql mysql 50331648 6月  28 10:12 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 6月  28 10:12 ib_logfile1
-rw-rw----. 1 mysql mysql 12582912 6月  28 10:12 ibtmp1
-rw-rw----. 1 mysql mysql        0 6月  28 10:12 multi-master.info
drwx------. 2 mysql mysql     4096 6月  28 10:12 mysql
srwxrwxrwx. 1 mysql mysql        0 6月  28 10:12 mysql.sock
-rw-rw----. 1 mysql mysql       16 6月  28 10:12 mysql_upgrade_info
drwx------. 2 mysql mysql       20 6月  28 10:12 performance_schema
-rw-rw----. 1 mysql mysql    24576 6月  28 10:12 tc.log
[root@sc-changsha mysql]#

kill -l 查看信号
kill -9 使用该进程杀死第9个信号

[root@sc-changsha mysql]# kill -l1) SIGHUP   2) SIGINT   3) SIGQUIT  4) SIGILL   5) SIGTRAP6) SIGABRT  7) SIGBUS   8) SIGFPE   9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG  24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF 28) SIGWINCH    29) SIGIO   30) SIGPWR
31) SIGSYS  34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX
[root@sc-changsha mysql]# kill -9 12345
-bash: kill: (12345) - 没有那个进程
[root@sc-changsha mysql]#

cat - 显示文件内容concatenate files and print on the standard output
1.连接文件---可以将多个文件的内容一起读取出来,然后连接到一起输出到屏幕

[root@localhost lianxi]# ls
andrea.py  xh.py
[root@localhost lianxi]# cat xh.py andrea.py
#!/usr/bin/python
import os
name = 'an'
path = '/root/lianxi/'
for i in range(1,101):wen = name + str(i)jia =os.path.exists(path)if jia:print('文件夹已存在')else:os.mkdir(path + wen)print('创建成功')
print("this is andrea")

2.输出文件的内容到屏幕(标准输出)
cat命令本质是一行一行从文件里读取内容,输出到屏幕上
-n 输出行号 number
-n, --number
number all output lines

here document 文档就在这里
用来生成指定内容的文件,文件里的内容是我们可以指定的---》写脚本的时候特别方便
用来生成一个服务的配置文件---mysql
<< EOF----》end of file文件结束的符号,<<指输入的时候----这个结束符号是自定义的(也可以改成END等,必须是大写)

[root@localhost ~]# cat >xie.txt <<EOF
> xie
> yu
> qi
> changsha
> EOF
[root@localhost ~]# cat xie.txt
xie
yu
qi
changsha

tac是将cat命令输出的内容倒序显示(最后一行在第一行显示,以此类推)---无-n选项

[root@localhost lianxi]# cat xhh.py
#!/usr/bin/python
import os
name = 'an'
path = '/root/lianxi/'
for i in range(1,101):wen = name + str(i)jia =os.path.exists(path)if jia:print('文件夹已存在')else:os.mkdir(path + wen)print('创建成功')
[root@localhost lianxi]# tac cat xhh.py
tac: 以读模式打开 'cat' 时失败: 没有那个文件或目录print('创建成功')os.mkdir(path + wen)else:print('文件夹已存在')if jia:jia =os.path.exists(path)wen = name + str(i)
for i in range(1,101):
path = '/root/lianxi/'
name = 'an'
import os
#!/usr/bin/python
[root@sc-changsha lianxi]# curl   -O ftp://alpha.gnu.org/gnu/coreutils/coreutils-4.5.1.tar.bz2
curl是Linux字符界面的浏览器
-O 是一个下载使用的选项(大写O)

输出重定向--》会覆盖文件里面的内容

追加输出重定向 --》不会覆盖文件里的内容,只是在文件的末尾追加
例如:将file2附加到file1:cat file2 >> file1

time + 命令---》查看这条命令执行消耗了多长时间

[root@localhost ~]# time cat wuxia
cat: wuxia: 是一个目录real    0m0.002s-----主要看这个参数
user    0m0.001s
sys 0m0.000s

页 page
page up 上一页
page down 下一页
more less 分页命令

more命令:全屏方式分页显示文件内容----显示到最后会自动退出
交互操作方法:enter键向下逐行滚动
空格键向下逐页滚动,按b向上翻一屏
按q退出

[root@localhost lianxi]# cat fengdy3000.py
with open("watermelon.txt","a+") as f:for i in range(3000):f.write(f"{i} panjinhao 迟到罚西瓜一个不低于五斤\n")[root@localhost lianxi]# cat -n watermelon.txt | more1  0 panjinhao 迟到罚西瓜一个不低于五斤2  1 panjinhao 迟到罚西瓜一个不低于五斤3  2 panjinhao 迟到罚西瓜一个不低于五斤4  3 panjinhao 迟到罚西瓜一个不低于五斤

less命令:与more命令相同,但扩展功能更多---显示完不会自动退出,按q退出
交互操作方法:
与more命令基本类似,但个别操作会有些出入
【page down】【page up】上翻下翻页
查找内容:?关键字
/关键字

head命令:查看文件开头一部分内容(默认10行)-----连续的行

[root@localhost lianxi]# head  watermelon.txt |tail -1
9 panjinhao 迟到罚西瓜一个不低于五斤
[root@localhost lianxi]# head -20 watermelon.txt |tail -11
9 panjinhao 迟到罚西瓜一个不低于五斤
10 panjinhao 迟到罚西瓜一个不低于五斤
11 panjinhao 迟到罚西瓜一个不低于五斤
12 panjinhao 迟到罚西瓜一个不低于五斤
13 panjinhao 迟到罚西瓜一个不低于五斤
14 panjinhao 迟到罚西瓜一个不低于五斤
15 panjinhao 迟到罚西瓜一个不低于五斤
16 panjinhao 迟到罚西瓜一个不低于五斤
17 panjinhao 迟到罚西瓜一个不低于五斤
18 panjinhao 迟到罚西瓜一个不低于五斤
19 panjinhao 迟到罚西瓜一个不低于五斤

tail命令
tail -f动态监控文件末尾内容的变化---查看日志,用来排查故障(按CTRL+C强制结束)
日志文件:记录一个程序在执行的过程中发生的事情

sed 可以修改和查看文件内容的命令
-n 不符合要求的行,不显示
1p 根据号行输出 p 输出print
[root@localhost lianxi]# sed -n '1p;3p;5p' watermelon.txt
1 panjinhao 迟到罚西瓜一个不低于五斤
3 panjinhao 迟到罚西瓜一个不低于五斤
5 panjinhao 迟到罚西瓜一个不低于五斤
-n不符合要求的行不显示
1p根据行号输出,p指print
;命令连接符号
[root@localhost lianxi]# sed -n '1,5p' watermelon.txt
1 panjinhao 迟到罚西瓜一个不低于五斤
2 panjinhao 迟到罚西瓜一个不低于五斤
3 panjinhao 迟到罚西瓜一个不低于五斤
4 panjinhao 迟到罚西瓜一个不低于五斤
5 panjinhao 迟到罚西瓜一个不低于五斤

[root@localhost lianxi]# cat watermelon.txt |sed -n '1,5p'
1 panjinhao 迟到罚西瓜一个不低于五斤
2 panjinhao 迟到罚西瓜一个不低于五斤
3 panjinhao 迟到罚西瓜一个不低于五斤
4 panjinhao 迟到罚西瓜一个不低于五斤
5 panjinhao 迟到罚西瓜一个不低于五斤

[root@localhost lianxi]# head -n 5 watermelon.txt
[root@localhost lianxi]# head -5 watermelon.txt
这两个作用一样

; 命令连接符号,可在一行连续的输出命令

查看mariadb数据库软件的日志
开启一个终端

[root@sc-changsha mariadb]# tail -f mariadb.log
另外一个终端
[root@sc-changsha ~]# service mariadb restart
Redirecting to /bin/systemctl restart mariadb.service
[root@sc-changsha ~]#
都是显示末尾3行tail -3 watermelon.txttail -n -3 watermelon.txttail -n 3 watermelon.txt[root@sc-changsha lianxi]# ps aux|tail -n +2  从第2行开始显示到末尾
root          1  0.0  0.7 178928 13664 ?        Ss   6月27   0:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root          2  0.0  0.0      0     0 ?        S    6月27[root@sc-changsha lianxi]# df|tail -n +2
devtmpfs              906584       0   906584    0% /dev
tmpfs                 924204       0   924204    0% /dev/shm
tmpfs                 924204    8872   915332    1% /run
tmpfs                 924204       0   924204    0% /sys/fs/cgroup
/dev/mapper/cl-root 17811456 2106192 15705264   12% /
/dev/sda1             999320  138320   792188   15% /boot
tmpfs                 184840       0   184840    0% /run/user/0
[root@sc-changsha lianxi]# df|tail -n +2|wc -l
7
[root@sc-changsha lianxi]#

wc统计命令---统计一个文件里有多少行,单词,字节
[root@localhost lianxi]# wc watermelon.txt
3000 9000 154893 watermelon.txt
[root@localhost lianxi]# wc -l watermelon.txt
3000 watermelon.txt
-l指lines,只输出多少行
-c指bytes,输出多少字节
-w指words 输出多少单词
-L统计长度

varname=$(命令) 将命令的执行结果赋值给varname variable 变量

[root@sc-changsha lianxi]# passwd_len=$(echo $user_passwd|wc -L)
[root@sc-changsha lianxi]# echo $passwd_len
13
[root@sc-changsha lianxi]#

history -c清除以前使用过的历史命令,不想让其他人看到你输入过的命令

awk截取一行里的某个(些)字段/列
列和列之间默认是空白和tab作为分隔
$1代表第一个字段
print是awk里的输出命令
, 是分隔符号
‘{}’是固定语法
df |awk '{print $1,$4}'

ssh是远程登陆命令
ssh andrea@192.168.0.55使用andrea这个用户登录192.168.0.55

[root@sc-changsha lianxi]# useradd yalin
[root@sc-changsha lianxi]# passwd yalin
更改用户 yalin 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

验证yalin这个用户的密码是否正确?
[root@sc-changsha lianxi]# ssh yalin@192.168.0.55 使用yalin这个用户登录192.168.0.55

yalin@192.168.0.55's password:
Permission denied, please try again.
yalin@192.168.0.55's password:
Last failed login: Sun Jun 28 17:15:44 CST 2020 from 192.168.0.55 on ssh:notty
There was 1 failed login attempt since the last successful login.
[yalin@sc-changsha ~]$
[yalin@sc-changsha ~]$ exit 退出登录
注销
Connection to 192.168.0.55 closed.
[root@sc-changsha lianxi]#

非交互式设置密码
[root@sc-changsha lianxi]# echo 123456 |passwd gushuai --stdin
更改用户 gushuai 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@sc-changsha lianxi]# echo $?
0
[root@sc-changsha lianxi]#

标准输出:输出屏幕 standard output
标准输入:从键盘输入 standard input --->stdin
--stdin 作用:告诉passwd命令,管道符号传递过来的内容,就把它当作从键盘接受的输入(标准输入)对待,就可以了

[root@sc-changsha ~]# read  -p "please input your name:"   username
please input your name:huangxy
[root@sc-changsha ~]# echo $username
huangxy
[root@sc-changsha ~]#

read 接受用户输入的命令
-p 后面接提醒字符串 prompt 提示
username 是变量名,read接受用户输入的内容会赋值给这个变量username

Linux07_文件操作相关推荐

  1. C++核心编程(四)--文件操作

    5 文件操作 程序运行时产生的数据都属于临时数据,程序一点运行结束,就会被释放 通过文件可以将数据持久化 C++中对文件操作需要包含头文件:fstream 文件类型分为两种: 文本文件:文件以文本的A ...

  2. python codecs.open()及文件操作-文本处理 with open

    20210810 以二进制并追加的形式写入文件 20210731 f.write('\n') 换行写入 20210625 https://blog.csdn.net/a543402496/articl ...

  3. day07-字符编码、文件操作

    目录: 字符编码 文件处理 一.字符编码: #1. 什么是字符编码:将人识别的字符转换计算机能识别的01,转换的规则就是字符编码表 #2. 常用的编码表:ascii.unicode.GBK.Shift ...

  4. HTML5 本地文件操作之FileSystemAPI整理(二)

    一.文件目录操作 1.DirectoryEntry对象 属性: 1.isFile: 操作对象的是否为文件,DirectoryEntry对象固定其值为false 2.isDirectory: 操作对象是 ...

  5. python3 转码的函数_python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: 1 #/usr/bin/e ...

  6. linux文件编辑操作,Linux下文本编辑及其文件操作

    文本编辑及其文件操作 Vim 命令模式: dd 删除当前行 yy 2yy nyy 复制 从光标算起,复制n行 p 粘贴 默认粘贴在光标的下一行 u 撤销 末行模式: :wq 保存退出 :wq! 强制保 ...

  7. c++:文件操作1 文件的打开

    在程序中,要使用一个文件,先要打开文件后才能读写,读写完后要关闭.创建一个新文件也要先执行打开(open)操作,然后才能往文件中写入数据.C++ 文件流类有相应的成员函数来实现打开.读.写.关闭等文件 ...

  8. python写byte数组到文件_这可能是写过最详细的Python文件操作。网友:收藏备用(中篇)...

    很多同学对于编码问题都不是很清楚,计算机常见的编码格式为: ASCII ISO-8859-1 GB2312 GBK UTF-8 UTF-16 对于Python开发中,我们一般都是采用统一的编码格式:U ...

  9. 浅谈无缓存I/O操作和标准I/O文件操作区别 (转载)

    首先,先稍微了解系统调用的概念: 系统调用,英文名system call,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核,调用相应的的内核函数完 ...

最新文章

  1. virtualbox网络相关
  2. 浅析企业建站都需要了解哪些基础内容?
  3. 用户测评 | EDAS Serverless 上手体验
  4. 【转】电驴提示“该内容尚未提供权利证明,无法提供下载”之解决办法详解...
  5. 剑桥大学Raven系统
  6. apache开源项目--ApacheDS
  7. 从Satin到Lyra 为何微软、谷歌都盯向音频编解码器?
  8. 如何使用Mybatis-plus
  9. TreeMap源码分析——深入分析(基于JDK1.6)
  10. xming+putty在windows下远程linux主机图形界面程序及putty乱码解决
  11. Linux 如何隔离CPU核心 isolcpus=0-2
  12. ssma5.3_适用于Oracle的Microsoft SQL Server迁移助手(SSMA)v7.1
  13. 多页面共用子窗口技术
  14. 数据线性拟合优化之路
  15. 奇趣携Red Bend推空中下载软件控件管理
  16. 在wamp 或者xamp 下测试多个独立的网页文件
  17. Windows 系统重装 - 制作 Win10 启动盘
  18. 面试了十个应届生九个都是秒杀系统,你确定你们那是秒杀?
  19. 树莓派存储方案_树莓派搭建seafile存储重要文件
  20. Fiddler创建根证书不成功和无法找到根证书的解决方法

热门文章

  1. 小米WIFI恢复出厂设置方法
  2. oracle utl file putf,UTL_FILE基本用法
  3. 经典文献阅读之--SuMa++
  4. 对不起 我来晚了 —— Android群英传 出版祭
  5. Python将两个EXCEL去除(或保留)重复数据
  6. java动态创建代理对象
  7. 走钢索的人---走出软件作坊:三五个人十来条枪 如何成为开发正规军(十七)[转]...
  8. petalinux uboot源码怎么打补丁
  9. 解决Centos7关闭You have new mail in /var/spool/mail/root提示
  10. Word实现汉字和拼音分离