相关动态
【小红书——测开】
2024-11-04 00:08

作者:小羊想打工 链接:https://www.nowcoder.com/discuss/759133 来源:牛客网
(题目牛客网提供,答案作者自己整理,有错请指出)

【小红书——测开】

(9.26)小红书(56min)
实习项目
简单讲一下竞赛项目

Python有五个标准的数据类型: Numbers(数字)、String(字符串)、 List(列表)、Tuple(元组)、 Dictionary(字典)

python的数据类型 :https://www.runoob.com/python/python-lists.html

1、 history 10 # 表示查看系统最后使用的10条命令

2、 ls:列出文件列表
ls -l # 列出文件的详细信息
ls -a # 列出所有文件,包括隐藏文件
ls -n # 可以查看当前目录下各子目录的文件权限

3、 cd:切换目录
cd /home # 切换/进入home目录
cd … # 到上一目录(父目录)

4、 cp:复制文件或者文件夹
cp -ir sourceDir/ home/targetDir/ # 把当前路径下的sourceDir文件夹复制到home目录下,取名为targetDir,且带参数-i和-r

注:
-i:若有同名文件,会询问是否覆盖
-r:复制文件夹时连同子文件(夹)一起复制,如果是对文件夹进行操作,一定要带这个参数

5、 mv:移动(即剪切操作,源文件会被删除)
mv -i sourceFile /home/targetFile # 把当前目录下的sourceFile剪切到/home目录下并命名为targetFile

6、 删除文件或文件夹
rm -r Dir/ # 删除Dir文件夹(对文件夹操作一定要带-r)

7、touch 创建新文件
mkdir:创建文件夹
touch new_file.txt # 创建一个new_file.txt文件
mkdir newDir/# 在当前路径创建一个空文件夹newDir/

8、rmdir:删除文件夹
rmdir oldDir/ # 在当前路径删除oldDir文件夹及其子文件(夹)

9、chmod:更改文件的权限模式
chmod 754 myDir/ # 当前用户(所有者)可读+写+执行,组group可读+执行,其他用户可读
chmod g+w myDir/ # 为组group添加写write权限
chmod -R 777 myDir/ # 给myDir/及其所有子目录添加所有权限

chmod参数: u: user,权限对象为当前用户(这里是所有者) g:group,权限对象为所有者和组
o:other,权限对象为其他用户 r:read = 4,读权限 w:write = 2,写权限 e:execute = 1,执行权限
+:u/g/o与r/w/e组合使用,加入
-:删除
=:设置

10、find:查找
find /home -name *.txt # 在/home目录下查找以txt为后缀的文件
find /home -mtime +1 # 在/home目录下查找昨天之前(不包括昨天)被改过的文件
find /home -size +100M # 在/home目录下查找大于100MB的文件,注意c表示byte

11、grep:按行查找并匹配
grep -i mystring file.txt # 忽略大小写,在file.txt中查找并打印出有“mystring”的行
ls -l | grep -i mystring # 在ls -l 的输出中把有“mystring”的行打印出来(忽略大小写)

grep参数:
-r:查找所有子文件(夹)
-n:显示行号
-w:完整匹配整个单词
-i:忽略大小写
-l:显示文件名称,而非匹配到的行的内容
-v:反向选择,显示出没匹配到的行的内容

12、|:管道
将前一个命令的输出结果像管道一样传递给后一个命令作为输入
ls | find -name myFile # 列出当前路径的文件(夹)并查找名字为“myFile”的,打印出来

13、tar:打包、压缩、解压
tar -jcv myDir/ # 压缩myDir文件夹
tar -jxv DownloadDir.tar.gz myDir/ # 解压DownloadDir.tar.gz到当前文件夹下,并命令为myDir

14、cat:打印文件内容
cat myFile # 显示myFile

15、ps:查看进程
ps Aux # 查看系统所有的进程数据

ps 常用参数:
-A:显示所有进程
-a:不与terminal有关的所有进程
-u:有效用户的相关进程
-x:一般与-a一起用,列出完整的进程信息
-l:long,详细列出PID的信息

16、kill:杀死进程
kill -9 10876 # 强制中断PID=10876的进程

17、passwd:修改密码
passwd # 修改当前用户的密码

18、pwd:显示工作目录
pwd # 显示当前路径的具体位置

19、tee:显示并保存
python test.py | tee result.log # 运行test.py文件,显示运行结果并保存成result.log文件

20、reboot:重启
reboot # 输完立马重启(记得保存文件)

1.线程资源共享与不共享

共享的资源有:
由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的;因此new出来的都是共享的
全局变量 它是与具体某一函数无关的,所以也与特定线程无关;因此也是共享的
静态变量 虽然对于局部变量来说,它在代码中是“放”在某一函数中的,但是其存放位置和全局变量一样,存于堆中开辟的.bss和.data段,是共享的
文件等公用资源 这个是共享的,使用这些公共资源的线程必须同步。Win32 提供了几种同步资源的方式,包括信号、临界区、事件和互斥体。

独享的资源有:
栈是独享的
寄存器 因为电脑的寄存器是物理的,每个线程去取值难道不一样吗?其实线程里存放的是副本,包括程序计数器PC

2.进程间通信

目的:
数据传输:一个进程需要将它的数据发送给另一个进程。
资源共享:多个进程之间共享同样的资源。
通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。
进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。

管道 :一个进程通过调用管程的一个过程进入管程。在任何时候,只能有一个进程在管程中执行,调用管程的任何其他进程都被阻塞,以等待管程可用。
(1)无名管道(内存文件):是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程之间使用。进程的亲缘关系通常是指父子进程关系。
(2)有名管道(FIFO文件,借助文件系统):也是半双工的通信方式,但是允许在没有亲缘关系的进程之间使用,先进先出的通信方式。
共享内存:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的IPC方式,它是针对其他进程间通信方式运行效率低而专门设计的。
消息队列:消息队列是有消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号:传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
套接字socket:适用于不同机器间进程通信,在本地也可作为两个进程通信的方式。
信号:用于通知接收进程某个事件已经发生,比如按下ctrl + C就是信号。
信号量:是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,实 现进程、线程的对临界区的同步及互斥访问。

3.线程间通信

线程间的同步方式包括互斥锁、信号量、条件变量、读写锁

4.了解的锁机制?(线程同步)

(1)互斥锁:mutex,保证在任何时刻,都只有一个线程访问该资源,当获取锁操作失败时,线程进入阻塞,等待锁释放。
(2)读写锁:rwlock,分为读锁和写锁,处于读操作时,可以运行多个线程同时读。但写时同一时刻只能有一个线程获得写锁。
(3) 自旋锁:spinlock,在任何时刻只能有一个线程访问资源。但获取锁操作失败时,不会进入睡眠,而是原地自旋,直到锁被释放。这样节省了线程从睡眠到被唤醒的时间消耗,提高效率。
(4)条件锁:就是所谓的条件变量,某一个线程因为某个条件未满足时可以使用条件变量使该程序处于阻塞状态。一旦条件满足了,即可唤醒该线程(常和互斥锁配合使用)
(5) 信号量:计数器,允许多个线程同时访问同一个资源。

互斥锁和读写锁的区别:

    以上就是本篇文章【【小红书——测开】】的全部内容了,欢迎阅览 ! 文章地址:http://nhjcxspj.xhstdz.com/quote/319.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://nhjcxspj.xhstdz.com/mobile/ , 查看更多   
发表评论
0评