Linux 系统编程-开发环境(二)

目录

7 压缩包管理

7.1 tar

7.2 rar 

7.3 zip  

8 进程管理

8.1 who

8.2 ps  

8.3 jobs 

8.4 fg

8.5 bg

8.6 kill  

8.7 env

8.8 top 

9 用户管理

9.1 创建用户

9.2 设置用户组

9.3 设置密码

9.4 切换用户

9.5 root用户

9.6 删除用户

10 网络管理

10.1 ifconfig

 10.2 ping

10.3 netstat

 10.4 nslookup

10.5 finger 

11  常用服务器构建

11.1 ftp

11.1.1 ftp服务器

11.1.2 ftp客户端

11.1.3 lftp客户端

11.2 nfs  

 11.3 ssh

 11.4 scp

11.5 telnet

12 其它命令

12.1 终端翻页

12.2 man  

12.3 clear  

12.4 alias  

12.5 echo 

 12.6 date

12.7 umask

12.8 创建终端

13 关机重启

13.1 poweroff

13.2 shutdown

13.3 reboot

13.4 查看内核版本信息

 13.5 查看发行版信息

13.6 查看空闲内存 

14 练习

15 需要安装的组件


7 压缩包管理

7.1 tar

tar [主选项+辅选项] 文件或者目录
tar可以为文件和目录创建档案。利用tar命令用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。使用该命令时,主选项是必须要有的,辅选项是辅助使用的,可以选用。 主选项包括:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x 从档案文件中释放文件。(常用)

 辅选项包括:

f 使用档案文件或设备,这个选项通常是必选的。(常用)
k 保存已经存在的文件。
m 在还原文件时,把所有文件的修改时间设定为现在。
M 创建多卷的档案文件,以便在几个磁盘中存放。
v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。(常用)
w 每一步都要求确认。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。(常用)
j 用bzip2来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。(常用)

 要将文件备份到一个特定的设备,只需把设备名作为备份文件名。

打包:
tar cvf dir.tar dir
tar xvf dir.tar dir

 

 

 

打gz压缩包: 

tar zcvf dir.tar.gz dir
tar zxvf dir.tar.gz

 

打bz2压缩包:

tar jcvf dir.tar.bz2 dir
tar jxvf dir.tar.bz2

 指定目录解压缩:

tar zxvf dir.tar.gz -C ~/test

7.2 rar 

打包:把dir压缩成newdir.rar
rar a -r newdir dir
解包:把newdir.rar解压缩到当前目录
        unrar x newdir.rar

7.3 zip  

打包:
zip -r dir.zip dir

 解包:

  unzip dir.zip

进程管理

8.1 who

查看当前在线上的用户情况。所有的选项都是可选的,不使用任何选项时,who命令将显示以下三项内容:
login name:登录用户名;
terminal line:使用终端设备;
login time:登录到系统的时间。

8.2 ps  

        ps [选项]

ps命令用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。选项部分如下:
-e 显示所有进程。
-f 全格式。
-h 不显示标题。
-l 长格式。
-w 宽输出。
-r 只显示正在运行的进程。
-a:即all,查看当前系统所有用户的所有进程
-u:查看进程所有者及其他一些详细信息
-x:显示没有控制终端的进程

 这个命令参数有很多,但一般的用户只需掌握一些最常用的命令参数就可以了。 最常用的三个参数是u、a、x, 我们首先以root身份登录系统,查看当前进程状况。

 

 

Head标头:  

 

  1. ss状态

    • S:睡眠状态(Sleeping or interruptible sleep)指示进程正在等待某个事件的发生。这个事件可能是IO操作的完成、等待用户输入等。当进程处于这个状态时,它是可以被中断的,响应系统信号。

    • R:运行状态(Running)表示进程正在运行或准备运行。进程正在执行指令或者正在等待CPU时间片以继续执行。

    • D:不可中断状态(Uninterruptible sleep)指示进程正在等待某个事件,但这个状态不可被中断。通常是由于进程正在执行系统调用或者等待IO操作的完成。

    • T:停止状态(Stopped)表示进程已被停止,通常由用户或其他进程发送的信号导致。进程在停止状态下不会执行任何指令。

    • Z:僵尸状态(Zombie)表示进程已经终止执行,但是其父进程尚未处理该进程的退出状态。僵尸进程会继续占用系统资源,直到被其父进程收回。

  2. s+状态

    • S+:使用s表示睡眠状态(Sleeping or interruptible sleep),表示进程处于可中断的睡眠状态。
    • R+:使用R表示运行状态(Running),表示进程正在运行

8.3 jobs 

用来显示当前shell 下正在运行哪些作业(即后台作业)
$ cat

(按下Ctrl-z挂起当前进程) 

[1]+ Stopped
cat
$ cat

(按下Ctrl-z挂起当前进程)  

[1]+ Stopped
cat
$ jobs
[1]- Stopped
cat
[2]+ Stopped
cat
  第一列方括号中的数字表示作业序号,它是由当前运行的shell 分配的,而不是由操作系统统一分配的。在当前shell 环境下,第一后台作业的作业号为1,第二作业的作业号为2,等等。第二列中的“+”号表示相应作业的优先级比“-”号对应作业的优先级高。第三列表明作业状态,是否为运行、中断、等待输入或停止等。最后列出的是创建当前这个作业所对应的命令行。

8.4 fg

fg [job…]

 

把指定的后台作业或挂起作业移到前台运行。 参数job是一个或多个进程的PID,或者是命令名称,或者是作业号(作业号前面要带一个%号)。通常在shell中输入命令启动进程后,如果该进程需要与用户交互,那么此后用户的键盘输入都被该进程读取,直到该进程退出后才出现shell提示符$,这种进程为前台进程。如果在命令行的末尾加上&字符,则shell为这个命令创建一个后台进程,它虽然也可以输出到屏幕,但是不能读取键盘输入,不管执行命令的进程有没有退出都立刻回到shell提示符接受下一条命令的输入。如果该进程也需要读取键盘输入,则被挂起等待直到用户用fg命令把它变成前台进程。如果一个命令需要较长的处理时间并且不需要与用户交互,就适合把它放在后台执行。

8.5 bg

bg [job…]
把被挂起的进程提到后台执行。 其中,job是一个或多个进程的PID、命令名称或者作业号,在参数前要带%号。
$ cat

 (按下Ctrl-z挂起当前进程)

[1]+ Stopped
cat
$ bg %1
[1]+ cat &
$(再回车一次)
[1]+ Stopped
cat
$ fg %1
cat
(按Ctrl-d输入文件结束符)
$

8.6 kill  

向指定进程发送信号
kill [ -signal | -s signal ] pid ...

查看信号编号  

 kill -l [ signal ]

给一个进程发信号,或终止一个进程的运行。

 

kill命令如果不带参数而直接跟pid,就是发给该进程SIGTERM信号,大部分进程收到该信号就会终止。但是被挂起的进程不能处理信号,所以必须发SIGKILL信号,由系统强制终止进程。
 

8.7 env

查看当前进程环境变量

$env

* vim /.bashrc
配置当前用户环境变量
* vim /etc/profile
配置系统环境变量,配置时需要有root权限
export PATH=$PATH:新路径

8.8 top 

top命令在Linux中用于实时监视系统的关键性能指标和运行中的进程。它提供了一个动态更新的任务管理器,可以显示CPU、内存、磁盘IO、网络等系统资源的使用情况,同时还列出了当前运行的进程的详细信息。

9 用户管理

9.1 创建用户

sudo useradd -s /bin/bash -g itcast -d /home/itcast -m itcast
sudo useradd -s /bin/sh -g group -G adm,root xwp
此命令新建了一个用户xwp,该用户的登录Shell是/bin/sh,他属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
-s 指定新用户登陆时shell类型
-g 指定所属组,该组必须已经存在
-G 指定附属组,该组必须已经存在
-d 用户家目录
-m 用户家目录不存在时,自动创建该目录

9.2 设置用户组

sudo groupadd itcast

9.3 设置密码

sudo passwd itcast

9.4 切换用户

        su 用户名

su itcast

9.5 root用户

变成root用户

sudo su

设置root密码

passwd

9.6 删除用户

userdel 选项 用户名
常用的选项是-r,他的作用是把用户的主目录一起删除。 例如:
sudo userdel -r itcast
此命令删除用户itcast在系统文件(主要是/etc/passwd,/etc/shadow,/etc/group等)中的记录,同时删除用户的主目录。

10 网络管理

安装

 

10.1 ifconfig

1.查看网卡信息
ifconfig
2.关闭网卡
sudo ifconfig eth0 down
3.开启网卡eth0
sudo ifconfig eth0 up
4.给eth0配置临时IP
sudo ifconfig eth0 IP

 

 10.2 ping

ping [选项] 主机名/IP地
查看网络上的主机是否在工作。它向该主机发送ICMP ECHO_REQUEST包。有时我们想从网络上的某台主机上下载文件,可是又不知道那台主机是否开着,就需要使用ping命令查看。
命令中各选项的含义如下:
-c 数目 在发送指定数目的包后停止。
-d 设定SO_DEBUG的选项。
-f 大量且快速地送网络封包给一台机器,看它的回应。
-I 秒数 设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-l 次数 在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。
-q 不显示任何传送封包的信息,只显示最后的结果。
-r 不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。
-s 字节数 指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。

10.3 netstat

netstat [选项]

显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。命令中各选项的含义如下:
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。

 

 10.4 nslookup

nslookup name
查询一台机器的IP地址和其对应的域名。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。不带参数使nslookup命令时,出现提示符“>”,在后面输入要查询的IP地址或域名并回车即可。如果要退出该命令,输入exit并回车即可。
itcast@ubuntu:~$ nslookup
> www.itcast.cn
Server:
127.0.0.1
Address:
127.0.0.1#53
Non-authoritative answer:
Name:
www.itcast.cn
Address: 115.29.149.42
>

10.5 finger 

  finger [-lmsp] user [user@host …] 查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。 命令中各选项的含义如下:
-s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。
-l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。
-p 除了不显示.plan文件和.project文件以外,与-l选项相同。
itcast@ubuntu:~$ finger itcast
Login: itcast
Name: itcast
Directory: /home/itcast
Shell: /bin/bash
On since Mon Sep 8 08:55 (CST) on tty7 14 hours 48 minutes idle
On since Mon Sep 8 21:57 (CST) on pts/1 from :0
11 minutes 18 seconds idle
On since Mon Sep 8 23:12 (CST) on pts/2 from :0
6 seconds idle
No mail.
No Plan.

11  常用服务器构建

11.1 ftp

11.1.1 ftp服务器

1.安装vsftpd服务器

sudo apt-get install vsftpd

2.配置vsftpd.conf文件  

sudo vi /etc/vsftpd.conf

添加下面设置  

anonymous_enable=YES
anon_root=/home/itcast/ftp
no_anon_password=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=0022
3.重启服务器,重新加载/etc/vsftpd.conf配置文件
注意:在重启服务器前要在/home/itcast目录下创建好ftp目录。

 

ubuntu12.04下
sudo /etc/init.d/vsftpd restart
ubuntu14.04下
sudo /lib/init/upstart-job vsftpd restart
4.进入你的/home/itcast/ftp目录下创建一个空目录,供用户上传
cd ~/ftp
mkdir anonymous
chmod 777 anonymous

5.测试上传功能,登陆ftp服务器,进入到anonymous目录  

ftp IP
cd anonymous

6.上传命令,可以把你当前目录下的文件上传到ftp服务器的anonymous目录  

put somefile
get somefile

11.1.2 ftp客户端

Ubuntu 默认已经安装ftp客户端

11.1.3 lftp客户端

lftp也是一种 ftp客户程序。它是以文本方式操作的,但是比起图形界面更为方便。lftp几乎具有bash的所有方便功能,Tab 补全,bookmark, queue, 后台下载等可以得到支持。用法与ftp类似,主要的指令如下:
put 上传文件
mput 上传多个文件
get 下载文件
mget 下载多个文件
mirror 下载整个目录及其子目录
mirror –R 上传整个目录及其子目录
!command 调用本地shell执行命令command  
注意,有的发行版可能缺省没有安装lftp工具,需要用户自己安装。如果是Debian或 Ubuntu系统,则安装lftp软件包。
sudo apt-get install lftp

11.2 nfs  

1.安装nfs服务器 

sudo apt-get install nfs-kernel-server

 2.设置/etc/exports配置文件

sudo vi /etc/exports

 添加这行配置

/home/用户名/nfs *(rw,sync,no_root_squash)

3.在用户目录下创建nfs目录 

mkdir /home/用户名/nfs

 4.重启服务器,重新加载配置文件

sudo /etc/init.d/nfs-kernel-server restart
充当nfs服务器的主机,启动服务以后,可以使用showmount -e 查看共享出来的目录

 5.在/home/用户名/nfs目录下创建测试文件hello

cd /home/用户名/nfs
touch hello

 6.测试服务器,把服务器共享目录nfs挂在到/mnt节点

sudo mount -t nfs -o nolock -o tcp IP:/home/用户名/nfs /mnt

7.进入/mnt目录可以看到hello文件,表示构建成功
8.卸载网络共享目录
sudo umount /mnt
补充常见错误
(1).虚拟机下,mount 之前使用install nfs-common可以结决虚拟机不能mount实体系统的情况。
(2).如在mount期间出现类似“超级坏块”错误导致无法挂载,很有可能是因为nfs-kernel-server未安装

 11.3 ssh

1.安装ssh服务器

sudo apt-get install openssh-server

2.远程登陆  

ssh 用户名@IP
使用ssh访问,如访问出现错误。可查看是否有该文件 ~/.ssh/known_ssh 尝试删除该文件解决。

 11.4 scp

远程拷贝文件,scp -r 的常用方法:
1.使用该命令的前提条件要求目标主机已经成功安装openssh-server
如没有安装使用 sudo apt-get install openssh-server 来安装
2.使用格式:
scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径 /保存到本机的绝对/相对路径
举例:
scp -r itcast@192.168.1.100:/home/itcast/QQ_dir/ ./mytest/lisi
在后续会提示输入“yes”此时,只能输“yes”而不能简单输入“Y”

拷贝单个文件可以不加 -r参数,拷贝目录必须要加。 

11.5 telnet

明文传输数据,请大家自行测试

12 其它命令

12.1 终端翻页

Shift-pageup
Shift-pagedown

12.2 man  

看手册(叫做manual或man page)。每一个命令和系统函数都有自己的man page。
man man
man read 查看read命令的man page
man 2 read 查看read系统函数的man page(在第二个section中,表示为read(2))
man -k read 以read为关键字查找相关的man page

12.3 clear  

清屏。使光标和提示符回到屏幕第一行。
命令:clear
快捷键:Ctrl-l

12.4 alias  

alias [-p] name=value …
将value字符串起个别名叫 name,以后在命令行输入 name,shell自动将其解释为value,如果不带参数执行本命令,或以参数-p执行,则显示当前定义的别名列表。
$ alias
alias ls='ls --color=auto'
alias rm='rm -i'

防止rm误删除,把下面这段代码写到/.bashrc里最后面。 

mkdir -p ~/.trash
alias rm=trash
trash()
{
mv $@ ~/.trash/
}

12.5 echo 

echo [-n] 字符串
在显示器上显示一段文字,一般起到一个提示的作用。其中选项n表示输出文字后不换行;字符串可以加引号,也可以不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。查看上一个程序退出数值,正常情况程序退出值是0
echo $?

 12.6 date

查看当前时间

12.7 umask

umask [-p] -S [mode]

umask指定用户创建文件时的掩码,其中的mode和chmod的命令中的格式一样。如果不用mode参数,则显示当前的umask设置。如果用-S参数,则以符号形式显示设置。
$ umask
0022
$ umask -S
u=rwx,g=rx,o=rx
    比如该用户touch或gedit创建一个文件,则其默认权限为-rw-r-r–,如果该用户创 建一个可执行文件(比如编译生成的程序),则其默认权限为-rwxr-xr-x。也就是说,由于umask的设定,创建的文件默认是不具有g的w权限和o的w权限的,除非用chmod更改权限。

12.8 创建终端

创建终端标签 Ctrl + Shift + t
切换标签 Alt+n(n=1)
新开终端 Ctrl + Shift + n

13 关机重启

关机重启这些操作都需要有root权限

13.1 poweroff

13.2 shutdown

        shutdown -t 秒数 [-rkhncfF] 时间 [警告讯息]

-t 秒数 : 设定在切换至不同的runlevel之前, 警告和删除二讯号之间的延迟时间(秒).
-k : 仅送出警告讯息文字, 但不是真的要 shutdown.
-r : shutdown 之後重新开机.
-h : shutdown 之後关机.
-n : 不经过 init , 由 shutdown 指令本身来做关机动作.(不建议你用)
-f : 重新开机时, 跳过 fsck 指令, 不检查档案系统.
-F : 重新开机时, 强迫做 fsck 检查.
-c : 将已经正在 shutdown 的动作取消.

例子: 

shutdown -r now 立刻重新开机
shutdown -h now 立刻关机
shutdown -k now 'Hey! Go away! now....' 发出警告讯息, 但没有真的关机
shutdown -t3 -r now 立刻重新开机, 但在警告和删除processes 之间, 延迟3秒钟.
shutdown -h 10:42 'Hey! Go away!' 10:42 分关机
shutdown -r 10 'Hey! Go away!' 10 分钟後关机
shutdown -c 将刚才下的 shutdown 指令取消,必须切换至其它tty, 登入之後, 才能下此一指令.
shutdown now 切换至单人操作模式(不加任何选项时)
注意事项:
时间参数务必要加: 不是用 now, 便是用 hh:mm 或 mm now 其实就是 0 的意思

13.3 reboot

重启系统

13.4 查看内核版本信息

uname -a

 13.5 查看发行版信息

lsb_release -a

13.6 查看空闲内存 

free -m

 

 

14 练习

1.创建test目录,在里面创建aa bb cc三个目录,在aa里创建hello文件,在bb里创建 world目录,在cc里创建itcast.c,然后执行tree/ls -R,最后删除test

  1. 打开终端。

  2. 创建test目录:输入以下命令并按下Enter键。

    插入代码复制代码

    mkdir test

    这将在当前目录下创建一个名为test的目录。

  3. 进入test目录:输入以下命令并按下Enter键。

    插入代码复制代码

    cd test

    现在你在test目录中进行操作。

  4. 创建aa、bb和cc目录:输入以下命令并按下Enter键。

    插入代码复制代码

    mkdir aa bb cc

    这将在test目录下创建名为aa、bb和cc的三个子目录。

  5. 进入aa目录:输入以下命令并按下Enter键。

    插入代码复制代码

    cd aa

    现在你在aa目录中。

  6. 创建hello文件:输入以下命令并按下Enter键。

    插入代码复制代码

    touch hello

    这将在aa目录中创建一个名为hello的空文件。

  7. 退出aa目录:输入以下命令并按下Enter键。

    插入代码复制代码

    cd ..

    现在你回到了test目录。

  8. 进入bb目录:输入以下命令并按下Enter键。

    插入代码复制代码

    cd bb

    现在你在bb目录中。

  9. 创建world目录:输入以下命令并按下Enter键。

    插入代码复制代码

    mkdir world

    这将在bb目录中创建一个名为world的子目录。

    退出bb目录:输入以下命令并按下Enter键。

    插入代码复制代码

    cd ..

    现在你回到了test目录。

  10. 进入cc目录:输入以下命令并按下Enter键。

    插入代码复制代码

    cd cc

    现在你在cc目录中。

  11. 创建itcast.c文件:输入以下命令并按下Enter键。

    插入代码复制代码

    touch itcast.c

    这将在cc目录中创建一个名为itcast.c的空文件。

  12. 退出cc目录:输入以下命令并按下Enter键。

    插入代码复制代码

    cd ..

    现在你回到了test目录。

  13. 查看目录结构:使用tree命令或者ls -R命令都可以显示目录结构。输入以下命令并按下Enter键。

    • 使用tree命令:

      插入代码复制代码

      tree
    • 使用ls -R命令:

      插入代码复制代码

      ls -R

    这将显示test目录及其子目录和文件的树状结构或分层列表。

  14. 删除test目录及其内容:输入以下命令并按下Enter键。

    插入代码复制代码

    rm -r test

    这将递归地删除test目录及其所有子目录和文件。

请注意,在执行删除操作之前,请务必确保你确实想要删除这些目录和文件,并且已经备份了重要的数据。

15 需要安装的组件

sudo apt-get install openssh-server
sudo apt-get install nfs-kernel-server
sudo apt-get install vsftpd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/39893.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Word之解决中文和英文混写导致字间距增大的问题(六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

机器学习1

核心梯度下降算法: import numpy as np from utils.features import prepare_for_trainingclass LinearRegression:def __init__(self,data,labels,polynomial_degree 0,sinusoid_degree 0,normalize_dataTrue):"""1.对数据进行预处理操作2.先得到…

【iOS】编译与链接

前言 计算机语言分为机器语言、汇编语言和高级语言。 可以将高级语言分为两种:编译语言和解释型语言(直译式语言)。 解释型语言(逐步进行解释执行) 解释语言编写的程序在每次运行时都需要通过解释器对程序进行动态…

(四)「消息队列」之 RabbitMQ 路由(使用 .NET 客户端)

0、引言 先决条件 本教程假设 RabbitMQ 已安装并且正在 本地主机 的标准端口(5672)上运行。如果您使用了不同的主机、端口或凭证,则要求调整连接设置。 获取帮助 如果您在阅读本教程时遇到问题,可以通过邮件列表或者 RabbitMQ 社区…

图数据库:neo4j学习笔记

参考资料:neo4j 教程_w3cschool Springboot集成Neo4j_喝醉的咕咕鸟的博客-CSDN博客 SpringBoot 整合 Neo4j_springboot neo4j_$懒小猿$的博客-CSDN博客 图数据库Neo4j实战(全网最详细教程)_neo4j使用教程_星川皆无恙的博客-CSDN博客 代码片段…

【个人笔记】linux的cd命令与目录结构理解

cd命令 cd(英文全拼:change directory)命令用于改变当前工作目录的命令,切换到指定的路径。 若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。 另外,~ 也表示为 home 目录 的…

flask基本用法小白教程+按钮跳转到指定页面+python和pip安装(后附)

一、flask学习教程: 1.1 基本程序: 大家可以在pycharm中复制如下代码,先感受一下flask的基本用法: 点击链接可进入浏览器查看程序运行的结果,在127.0.0.1:5000后面添上/test1/等设定的文字,可查看不同函…

Flutter:网络图像缓存插件——cached_network_image

前言 为什么要使用这个插件,有什么用呢?毕竟官方提供了Image.network来进行网络图片加载 Image.network和CachedNetworkImage都可以用于在Flutter中加载网络图片,但它们之间有一些区别。 Image.network是Flutter核心库提供的一个构造函数&…

Python教程(4)——Python开发工具PyCharm的下载与安装

PyCharm是一种专业的Python集成开发环境(IDE),由JetBrains公司开发和维护。它提供了丰富的功能和工具,帮助开发人员更高效地编写、调试和测试Python代码。如果是一些大型Python项目强烈推荐用这个来开发。今天我们来介绍一下PyCha…

Microsoft Update Assistant导致 MAC 电脑内存占用过高解决方案

目录 问题: 排查原因: 解决方案: 问题: 一直很苦恼,每次开机隔会发下电脑内存就 100%了,这次找了下原因,也记录下. 排查原因: 通过 mac 自带的活动监视器,发现居然是Microsoft Update Assistant它导致的 解决方案: 那这样就简单了,这个应该是 word,execl 的一个自动更新程序…

融云出海:不止假发出口和四卡四待手机,「非洲市场」的参差与机遇

↑ 点击预约“融云北极星”直播↑ 点击预约“实时社区”直播 比白皮书更精炼省流,比图谱更实用有效。 融云《社交泛娱乐出海作战地图》,被多位大咖标记为出海人必备工作手册。针对地图的核心模块,我们推出了系列解读文章,更详尽…

56 # 实现 pipe 方法进行拷贝

pipe 是异步的,可以实现读一点写一点,管道的优势:不会淹没可用内存,但是在导入的过程中无法获取到内容 const fs require("fs"); const path require("path");fs.createReadStream(path.resolve(__dirname…

苹果平板电容笔好用吗?第三方apple pencil推荐

自从苹果推出了ipad的电容笔之后,一直在市场上保持着十分火爆的热度,但是因为Apple Pencil的价格太高,一般的消费者根本没有足够预算去入手。所以市场上就不断涌现出了不少可以很好代替Apple Pencil的平替电容笔,并且深受人们的热…

Word 插件实现读取excel自动填写

日常工作中碰到需要将EXCEL的对应数据记录填写到word文档对应的位置,人工操作的方式是: 打开exel表—>查找对应报告号的行—>逐列复制excel表列单元格内容到WORD对应的位置(如下图标注所示) 这种方法耗时且容易出错。实际上…

精选了6款好用的AI绘画工具,值得一试

近几年来,伴随着AI技术的发展,设计领域发生了巨大的变化。AI绘图工具的出现很大程度上减轻了设计师的工作负担,本文精选了6款优秀的AI绘图工具为大家推荐,一起来看看吧! 1、即时灵感 即时灵感作为国产的AI绘图工具&a…

java导出pdf(纯代码实现)

java导出pdf 在项目开发中,产品的需求越来越奇葩啦,开始文件下载都是下载为excel的,做着做着需求竟然变了,要求能导出pdf。导出pdf倒也不是特别大的问题关键就是麻烦。 导出pdf我知道的一共有3中方法: 方法一&#xff…

Spring Batch之读数据库—JdbcCursorItemReader之自定义PreparedStatementSetter(三十八)

一、自定义PreparedStatementSetter 详情参考我的另一篇博客: Spring Batch之读数据库——JdbcCursorItemReader(三十五)_人……杰的博客-CSDN博客 二、项目实例 1.项目实例 2.代码实现 BatchMain.java: package com.xj.dem…

只需一个提示词解除GPT-4的字符限制!

ChatGPT的内存有限,GPT-3.5-turbo的限制为4897个令牌,而GPT-4的最大限制为8192。如果您在使用GPT-4进行聊天时超过8192个令牌(约6827个单词),它就会开始遗忘。我想出了一种新的技巧,可以轻松将对话扩展10倍。 这种技巧不会将对话中的每个字都保存到内存中。当您去开会时,会有人…

同比环比数据可视化

引言 数据分析和可视化在现代商业环境中变得越来越重要。随着数据的迅速增长,我们需要有效的工具来解释和理解这些数据。 数据可视化提供了一种直观的方式,帮助我们从海量数据中提取有意义的见解,以支持业务决策。 同比环比图作为一种常见的…

C#鼠标拖拽,移动图片实例

最近工作需要做一个鼠标可以拖拽移动图片的功能。 写了几个基本功能,勉强能用。这里记录一下。欢迎大神补充。 这个就是完成的功能。 下边的绿色是一个pictureBox,白色框也是一个pictureBox,他们二者是子父级关系。 绿色是父级&#xff0c…