精华内容
下载资源
问答
  • 自动滚屏软件

    2016-11-25 17:02:02
    自动滚屏软件,Window用。假如某个窗体太大,或者超出了显示器的边界而无法用鼠标键盘操作挪回来,那么可以试试这款自动滚屏软件(插件)。只要用鼠标的光标向(窗口超出部分)屏幕边界挪动,那么超出屏幕显示范围的...
  • 自用 效果非常好
  • 一款非常强大的滚屏截图软件,可以把一本连续的书或者一个连续的网页,滚屏截图成一张照片,功能非常强大,非常实用!
  • 一款功能强大的截屏软件,支持多种截图方式,尤其是支持滚屏截图,非常好使。并且带有滚屏截图的使用说明。
  • vs2013制作滚屏软件

    2018-08-26 10:55:53
    前言:  当我们不想要黑色的窗口,想要设计一个无按钮的字幕在电脑中央向...1.创建win32项目,windows窗口应用程序(注:不要安全开发周期),创建完之后.cpp文件里自动生成一百多行代码,在这里进行修改。 ...

    前言:

      当我们不想要黑色的窗口,想要设计一个无按钮的字幕在电脑中央向来回滚动时,该怎么办呢?

    我们可以对窗口进行设计,例子如下:


    软件:vs2013

    程序功能:设计一行无边框无按钮的弹幕在电脑中央开始向右来回滚动

    步骤:

    一:创建窗口

    1.创建win32项目,windows窗口应用程序(注:不要安全开发周期),创建完之后.cpp文件里自动生成有一百多行代码,在这里进行修改。

    二:

    注册窗口类:(设置无边框)

    调整窗口大小,设置无按钮:

    全局变量:

    添加文字到窗口上:(使用多字符集)

    让窗口动起来:

    按上述步骤修改后的代码:(本人已运行通过,如果上述步骤未明白,可以在下面代码里慢慢找修改的地方)

    // 滚屏软件.cpp : 定义应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include "滚屏软件.h"
    
    #define MAX_LOADSTRING 100
    
    // 全局变量: 
    HINSTANCE hInst;								// 当前实例
    TCHAR szTitle[MAX_LOADSTRING];					// 标题栏文本
    TCHAR szWindowClass[MAX_LOADSTRING];			// 主窗口类名
    
    //窗口坐标
    int x = 400;
    int y = 400;
    //窗口大小
    int width = 300;
    int height = 30;
    
    // 此代码模块中包含的函数的前向声明: 
    ATOM				MyRegisterClass(HINSTANCE hInstance);
    BOOL				InitInstance(HINSTANCE, int);
    LRESULT CALLBACK	WndProc(HWND, UINT, WPARAM, LPARAM);
    INT_PTR CALLBACK	About(HWND, UINT, WPARAM, LPARAM);
    
    int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
                         _In_opt_ HINSTANCE hPrevInstance,
                         _In_ LPTSTR    lpCmdLine,
                         _In_ int       nCmdShow)
    {
    	UNREFERENCED_PARAMETER(hPrevInstance);
    	UNREFERENCED_PARAMETER(lpCmdLine);
    
     	// TODO:  在此放置代码。
    	MSG msg;
    	HACCEL hAccelTable;
    
    	// 初始化全局字符串
    	LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    	LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING);
    	MyRegisterClass(hInstance);
    
    	// 执行应用程序初始化: 
    	if (!InitInstance (hInstance, nCmdShow))
    	{
    		return FALSE;
    	}
    
    	hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY));
    
    	// 主消息循环: 
    	while (GetMessage(&msg, NULL, 0, 0))
    	{
    		if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
    		{
    			TranslateMessage(&msg);
    			DispatchMessage(&msg);
    		}
    	}
    
    	return (int) msg.wParam;
    }
    
    
    
    //
    //  函数:  MyRegisterClass()
    //
    //  目的:  注册窗口类。
    //
    ATOM MyRegisterClass(HINSTANCE hInstance)
    {
    	WNDCLASSEX wcex;
    
    	wcex.cbSize = sizeof(WNDCLASSEX);
    
    	wcex.style			= CS_HREDRAW | CS_VREDRAW;
    	wcex.lpfnWndProc	= WndProc;
    	wcex.cbClsExtra		= 0;
    	wcex.cbWndExtra		= 0;
    	wcex.hInstance		= hInstance;
    	wcex.hIcon			= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY));
    	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);
    	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1);
    	wcex.lpszMenuName = NULL;    //菜单设置无边框 MAKEINTRESOURCE(IDC_MY);
    	wcex.lpszClassName	= szWindowClass;
    	wcex.hIconSm		= LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
    
    	return RegisterClassEx(&wcex);
    }
    
    //
    //   函数:  InitInstance(HINSTANCE, int)
    //
    //   目的:  保存实例句柄并创建主窗口
    //
    //   注释: 
    //
    //        在此函数中,我们在全局变量中保存实例句柄并
    //        创建和显示主程序窗口。
    //
    BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
    {
       HWND hWnd;
    
       hInst = hInstance; // 将实例句柄存储在全局变量中
    
       hWnd = CreateWindow(               //调整窗口大小,位置
    	   szWindowClass, szTitle,
    	   WS_POPUP,   //窗口无按钮
    	   x,y, width, height, 
    	   NULL, NULL, hInstance, NULL);
    
       if (!hWnd)
       {
          return FALSE;
       }
    
       ShowWindow(hWnd, nCmdShow);
       UpdateWindow(hWnd);
    
       return TRUE;
    }
    
    //
    //  函数:  WndProc(HWND, UINT, WPARAM, LPARAM)
    //
    //  目的:    处理主窗口的消息。
    //
    //  WM_COMMAND	- 处理应用程序菜单
    //  WM_PAINT	- 绘制主窗口
    //  WM_DESTROY	- 发送退出消息并返回
    //
    //
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	int wmId, wmEvent;
    	PAINTSTRUCT ps;
    	HDC hdc;
    
    	switch (message)
    	{
    	case WM_TIMER:
    		x += 3;
    		if (x > GetSystemMetrics(SM_CXFULLSCREEN))
    			x = 0;
    		SetWindowPos(hWnd, NULL, x, y, width, height, NULL);
    		break;
    	case WM_CREATE:    //窗口创建之后
    	{//设置窗口位置为屏幕正中央
    
    						   int W = GetSystemMetrics(SM_CXFULLSCREEN); //获取窗口宽
    						   int h = GetSystemMetrics(SM_CYFULLSCREEN); //获取窗口高
    
    						   x = (W - width) / 2;
    						   y = (h - height) / 2;
    						   SetWindowPos(hWnd, NULL, x, y, width, height, NULL);
    						   SetTimer(hWnd, 1, 50, NULL);
    	}
    		break;
    	case WM_COMMAND:     //键盘鼠标消息
    		wmId    = LOWORD(wParam);
    		wmEvent = HIWORD(wParam);
    		// 分析菜单选择: 
    		switch (wmId)
    		{
    		case IDM_ABOUT:
    			DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
    			break;
    		case IDM_EXIT:
    			DestroyWindow(hWnd);
    			break;
    		default:
    			return DefWindowProc(hWnd, message, wParam, lParam);
    		}
    		break;
    	case WM_PAINT:   //绘图
    		hdc = BeginPaint(hWnd, &ps);
    		// TODO:  在此添加任意绘图代码...
    		//使用的时候注意字符集
    		TextOut(hdc, 30, 5, "Hello!,你好", strlen("Hello!,你好"));
    
    
    
    
    		EndPaint(hWnd, &ps);
    		break;
    	case WM_DESTROY:    //销毁窗口
    		PostQuitMessage(0);
    		break;
    	default:
    		return DefWindowProc(hWnd, message, wParam, lParam);
    	}
    	return 0;
    }
    
    // “关于”框的消息处理程序。
    INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	UNREFERENCED_PARAMETER(lParam);
    	switch (message)
    	{
    	case WM_INITDIALOG:
    		return (INT_PTR)TRUE;
    
    	case WM_COMMAND:
    		if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
    		{
    			EndDialog(hDlg, LOWORD(wParam));
    			return (INT_PTR)TRUE;
    		}
    		break;
    	}
    	return (INT_PTR)FALSE;
    }
    

    结果部分截图:


    如果有什么问题,欢迎在下面留言!

    展开全文
  • 之前为一家医院做一款家属公告软件,需要字幕的循环滚动功能。我借鉴了多个源码,这是我发现的最好的滚屏源码。
  • 最快的滚屏截图软件--SpaceCapture

    万次阅读 热门讨论 2018-06-12 19:25:10
    软件最近更新日期为2019.10.20, v1.09 注:由于SpaceSoftwares.com维护不足,可能会一些下载不稳定的现象,所有工具已经打包备份至:https://github.com/SpaceView/SpaceCapture 内含多个日常可使用的小工具,...

    最新发布SpaceCapture v1.10版

    永久免费的高速滚屏截图软件 SpaceCapture v1.10(2021.07.07)正式更新发布,内含X64版和X86版,请到这里下载,

    https://github.com/SpaceView/SpaceCapture

    网速慢的朋友可以去这里下载,

    链接:https://pan.baidu.com/s/1ZbW11kh4yyGzxlG0WYfl_Q 
    提取码:psrw

    SpaceCapture自发布以来,收到很多朋友的来信反馈,对于那些一时无力回复的朋友,我们在些表示感谢。

    目前丝贝视像正一步步改进,希望做一款最好用的滚屏截图软件,也希望大家多多支持丝贝视像的其他产品。

    v1.10的主要更新包括:

    -->修复了一系列界面及截图BUG。增强了在浏览器页面变化的情况下,截图的应变能力

    -->窗口截图的阴影部分修剪更加合理(请在设置->系统->窗口对象捕捉->去除阴影->输入8)

    请路径中不要使用中文、空格或其他无效字符。

    异常说明:

    默认的的情况下,如果网页反应过慢,会无法截取页面,此时设置速度慢一点,例如,对交互式的速率设置如下(默认速率是10ms,适合反应极快的页面,如文本,国内网页广告多,反应可能没那么快,通常改用100ms以上可以适用各种情况,下图中我们设置成200ms)。

     如果出现图片显示异常,通常是因为系统不完整。比如有些GHOST版本的windows会对gdiplus进行修剪,或者系统清理过程中受损。 我们正在努力清除gdiplus(目前还没有100%完成),采用100%原生windowsAPI实现程序全部功能,以适应各种系统。

    另外,有些软件会抢夺顶层显示,从而造成本软件运行缓慢或反应不畅,本身并非SpaceCapture的问题。

    使用中碰到的任何问题请致信:tansheng@spacesoftwares.com,我们会在下一版努力改进。

    感谢大家的支持

    丝贝视像目前的主要产品包括:工业相机 和 运动控制卡,专为视觉图像处理自动化,人工智能自动化服务。 购买丝贝视像的产品,终身享受丝贝的服务,随时有资深工程师为您提供开发指导,以解决您在图像视觉及自动化领域所碰到的各种难题!

    https://SpaceVision.taobao.com

    ====================================================================

    以下为v1.09版(2019.10.20)的发布信息

    注:由于SpaceSoftwares.com维护不足,可能会有一些下载不稳定的现象,所有工具已经打包备份至:

    https://github.com/SpaceView/SpaceCapture
    内含多个日常可使用的小工具,全部免费,欢迎下载使用。

    作为一名程序员,屏幕截图,图片拼接,视频图片制作,屏幕录相肯定都是经常性的。本人每天都有截大量的图片。所以这里介绍一款软件,可以说是我们所知道的最快的滚屏截图软件。

    具体可以去我们官网(SpaceSoftwares.com)直接下载。因为功能比较多,有些功能过一段时间不用,自己都有点生疏。这里结合自己的用法,记录一下。

    来个速写照

    或者,你喜欢迷你界面(如果上面的界面碰到问题,建议选下面这个默认的界面)

    1.   静态截图

    这些功能其实都很容易,放在这里纯粹是满足介绍的完整性。包括“自由形状”、“自绘形状”、“固定区域”、“全屏”、“自选区域”、“活动窗口”及“窗口对象”等功能按键,如果你用过其他的截图软件,使用起来都差不多,大体上没什么要进一步说明的。

    “自由形状”是指截取用户随意绘制的区域;

    “自绘形状”是指用户选取的固定开关,如圆,矩形等;

    “固定区域”是一个固定的窗口,用户可以通过拖拉控制其大小和位置,调整后好通过点击右键即可完成截图;

    “全屏”是指截取整个电脑屏;

    “自选区域”是指可以通过任意位置的两点确定的一个矩形区域。

     “活动窗口”及“窗口对象”按键。可实现用户快速抓取窗口图像。

     2.   滚屏截图 ---- 重点

    有没有体会过刷的一下就把一张很长很长的图片截出来的感觉? 

    这个专为滚屏而生的截图软件,追求高速就是这样的:小的时间间隔+便捷的图像处理功能;里面功能相当丰富(组合起来有几十种截图方式),用户完全可以根据自己的需要设置,摸索找到自己最喜欢的方式。

    设置解释举例:最高速=最小的滚屏指令时间间隔+单个指令进行最大滚屏量(单个指令的滚屏量为普通设置的三倍,如果窗口不够高,请减小该值,免得一次性滚动内容太多跑到窗口外面去了而连接不上)。

    下面看下SpaceCapture提供几种典型模式。

    (1)智能模式

    也就是傻瓜模式(软件智能了,人就可以傻瓜一点哈)。最初我也是从这里开始的,反正一拉了事。大多数用户,尤其是截图量少的,可能都不想再去学习软件怎么用。那这个就很适合。

    这个模式下,你只要点击智能滚屏按钮,或都通过下拉菜单选择你想要的时间间隔就行。

    对于慢速网页,需要使用帧时间间隔大的模式(慢速模式),例如,我试过的一些文库网站,刷新反应时间一般在600ms以上,这个时候你就可以选600ms或800ms的时间间隔,如果你选太快(小的时间间隔)就会出现网页刷新跟不上滚屏速度的问题,会导致提前终止。

    对于快速网页,用户可以直接使用最小时间间隔的截图模式。

    当然,用户还可以根据自身的需要,进入“设置”界面,修改智能滚屏模式下的时间间隔参数。系统支持50-2000ms之间的任意时间间隔数值。

    (2)极速模式

    这种模式就是以以文字为主体的页面,例如以文字为主体的网页,PDF、word等格式文件。

    如果你使用得当,那截一张长长的图就是一眨眼的功夫,能极大地提高工作效率。

    同样地,用户亦可直接进入 “设置”界面,修改极速滚屏模式下的时间间隔参数,以调整到自己最佳适用状态。系统支持1-2000ms之间的任意时间间隔数值。

    (3)交互式模式

    这个模式是我后来用的最多的模式。尤其是那个剪切宽(或者剪切宽与高)功能。

    你可以想像一下,你框选一个区域,然后软件会把 在这个选区中出现过的滚屏内容 完完整整截出来并且剪切好,是不是轻松很多?

    下面记录此模式下现提供的4个选项:

    ①基于宽

    意即用户自定义截图宽度,说白了就是根据宽度进行数据匹配,精确抓取在该宽度内的图像,而对宽度数值之外的图像进行模糊匹配。

    ②基于宽和高

    意即用户自定义一个截图宽度与高度,软件根据这个矩形区域进行数据匹配,精确抓取滚屏期间在此矩形面积以内的图像,而对矩形之外的图像进行模糊匹配。

    ③剪切宽(重点推荐)

    软件会精确抓取在用户自定义宽度以内的图像,并裁剪。说白了,你画一条线指示这个宽度以内的内容是我关心的,旁边的广告什么的就不需要了。然后软件 就把你关心的内容截出来,旁边没用的信息自动剪切掉了,是不是很舒服?
    一般得到图片之后,上面(前面)和下面(后边)都会有些不需要的区域,这时可以用那两个显眼的大剪刀按钮来掐头去尾,非常便捷!

    ④剪切宽与高(重点推荐)

    前面讲过,和剪切宽差不多,你画一个框,软件会精确抓取在滚屏期间出现在这个框内的图像,并裁剪。也就是说会把你所关注的内容截取出来,同时删掉那些你所不关心的区域,免除截图之后的再处理。
    注意:如果窗口高度太低,有可能导致失败,这时建议还是选剪切宽比较好,因为剪切宽会自动捕捉窗口最大高度。
    视频:SpaceCapture快速滚屏截图教学_哔哩哔哩_bilibili

    这里提一下,经常有人询问如何实现windows中微信客户端聊天截图,这时用到的工具就是剪切宽与高不要试图让程序自己判断聊天窗口到底在哪里,因为那个窗口是腾迅自己画的,不是windows的标准窗口,所以需要用剪切宽与高工具来指定要裁剪的区域另外,这个窗口不要太小,帧与帧之间找不到重合点就无法连续连接;可以通过把浏览器的滚屏间隔降为半速,聊天窗口稍微拉大一点实现。

    提前停止:经常有人提到提前停止的问题。其实任何时候,你只要按万能的ESC键就可以提前停止获取已经截取的画面,而不必等窗口全部接到最底下。

    3.   编辑功能(如拼图)

    SpaceCapture提供了一个比较易用的图片编辑器,包括裁剪,添加艺术字体或普通文字(你可以勾选是否同时要边框等),添加箭头及方框等,拼图等功能。请不要忘记你的鼠标右键,里面有很多功能,例如用按钮选取编辑区后,可以轻松完成crop等多种操作。

    拼图举例:就是假设你想把多张宽度一样的图片拼接起来的话,这个软件很方便。要拼接的图片如果有重合部分,软件能把这些重合部分剪切掉,形成一张新的长图。注意,目前拼图操作不支持宽度不一致或宽度上没有连续性的图片。

    4.   视频截图+把字幕附在下面

    如何从视频里截图出一张这样的图?别告诉我你是剪切出来然后再copy+paste的啊,毕竟人家只需要在播放时按两个快捷键就能实现了,使用方法也没什么特殊,如果你是个天生不喜欢默认参数的人,就要注意里面很多参数可在设置里调整。

    最后,这个软件非常小,不到1M,难以置信。

    5.  支持屏幕动态抓拍

    现在的绝大部分屏幕截图软件,都只能截静态的桌面(本质上等于先截一张桌面的全屏,然后再在这张大图里面陪你玩),就是当你打开一个截图的透明窗口时,你会发现所有的东西都静止了,电影也不再播放了,动画也终止了…… 这在当你需要把某帧图片包括播放器及桌面等环境一起截出来的时候非常狼狈。

    SpaceCapture使用了完全不同的透明窗口技术,也就是说,当透明窗口打开的时候,你看到的是真正的桌面,而不是一张已经截取的全屏桌面。电影和动画会照常播放,一点都不受影响,你完全可以体验那种抓拍的感觉(Yea!!)。

    视频:SpaceCapture支持动态桌面截图_哔哩哔哩_bilibili

    6.   软件更新

    软件上传已经接近一载,时常收到用户不同的反馈,在此表示感谢。我们会一直努力保持更新维护。上传前已经通过avira等查杀,请到github.com上下载,以避免他人植入病毒木马等,SpaceSoftwares没有在任何其他网站提供链接。下载后可用反病毒查杀软件检查,通过后加入白名单即可(正常情况下,绿色软件被扫描时的提示都是未知来源,表示不认识)请注意某些误杀率高的反病毒软件存在误报。

    SpaceSoftwares提供的所有软件工具都是永久免费的,没有任何功能性限制,不会以任何形式收集任何用户信息,下载无需注册,也不会植入任何影响使用的广告,甚至不会提醒用户版本更新,如果感觉还可以,请在github上给个star,增加点人气。

    7. 其他工具

    SpaceView, 一个通用看图软件

    机器学习中,如何使用SpaceView完成图片批量转换和裁剪功能_tanmx219的博客-CSDN博客

    SpaceRecorder,一个录屏小工具(原链接已经失效,暂时不再提供)

    https://blog.csdn.net/tanmx219/article/details/82931508

    SpaceAudioRecorder, 一个录音小工具,可录制喇叭和话筒,比如网络音乐无法下载时,或者在线学外语时,你可以把它录下来。录音的质量取决于你的硬件设备。

    联系我们

    如有任何使用升级建议和使用功能疑问,请致信:spaceSoftwares@hotmail.com,以方便下一版改进。

    丝贝视像专注于高性能计算机视觉应用,提供基于人工智能的机器视觉及自动化控制解决方案,从缺陷检测、文字识别、到精准分类、高精度定位等,产品可广泛应用于工业控制、材料、电子、医疗等领域。
    联系人:tanSheng@spaceSoftwares.com 

    展开全文
  • 最好用的截图软件绿色版,可滚屏,各种类型的截图,对文档,图片都可截图
  • 滚屏截图工具

    2017-10-20 22:25:41
    小巧(1.8M),绿色(随用随开),好用(没遇到比它更强的),最强是滚屏截图(网页、world文档等)还可屏幕录像。至于一般的截图那就随便使了。了它其他的就可以都不要了。
  • 1)使用PROTEUS仿真软件,设计仿真原理图。 2)使用Uvision2开发平台,采用C语言设计软件程序。 3)在仿真原理图上调试运行软件程序,完成系统仿真。
  • 电脑滚动截屏软件.zip

    2020-03-23 17:50:55
    电脑滚动截屏软件,支持在电脑上持续滚动截取屏,录制短视频等,软件方便小巧,只需要几M就可以完成你想要完成的功能,值得一用!
  • 滚屏抓图软件,可以轻松滚屏抓图。很好用 滚屏抓图软件,可以轻松滚屏抓图。很好用
  • 可以截滚屏的超强截图软件哦 可以截滚屏的超强截图软件哦 可以截滚屏的超强截图软件哦 可以截滚屏的超强截图软件哦 可以截滚屏的超强截图软件
  • snagit6.0 滚屏抓图软件

    2010-08-04 10:32:11
    snagit6.0 滚屏抓图软件 可以抓滚屏
  • 截图软件绿色版,支持滚屏截图。非常小巧,好用。并且带有滚屏截图使用说明。
  • 大家放心使用,本软件短小精悍,其功能远远超乎你的意料 6种截屏方式完全满足你的操作要求 尤其是自动滚屏截图,当鼠标移动到滚动窗口时,软件会...这是很少的,因为大家都知道许多屏幕录像软件试用版都会水印。
  • 滚屏截取工具

    2014-05-15 08:09:31
    滚屏截取工具,用于截取过大网页或过大文档,实用方便,绿色软件
  • 安全小巧,功能强大的截屏软件FastStone Capture V8.6,支持滚屏截图、屏幕录制,还自带好用的图片编辑工具。值得珍藏。
  • 易记桌面背单词软件

    2019-01-04 12:59:19
    用来在电脑端背单词的软件,桌面滚动屏幕功能很有效,边玩边背,两不误。
  • 以上这篇PYQT5设置textEdit自动滚屏的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:PyQT5 QTableView显示绑定数据的实例详解PyQt5 QTableView...
  • 测井软件滚屏绘图是一个什么思路?没做个这种,自己想的思路下面3种,不知道主流的做法是怎么实现的? 1、是一次性创建一个非常大的内存DC把所有深度线背景网格画好,然后通过测量数据慢慢画曲线,定时一屏一屏往...
  • Linux总结

    千次阅读 多人点赞 2020-01-14 20:36:45
    参数: y - yes 替换 n - no 不替换 a - all 替换所有 q - quit 退出替换 l - last 最后一个,并把光标移动到行首 ^E 向下滚屏 ^Y 向上滚屏 u: 撤销操作 **dd:**删除当前行 6、用户、组管理命令 6.1、用户、组操作...

    请多多支持博主,点赞关注一起进步哦~

    文章目录

    一、认识操作系统

    1.1、操作系统简介

    1. 操作系统(Operation System,简称OS)是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石;
    2. 操作系统本质上是运行在计算机上的软件程序 ;
    3. 为用户提供一个与系统交互的操作界面 ;
    4. 操作系统分内核与外壳(我们可以把外壳理解成围绕着内核的应用程序,而内核就是能操作硬件的程序)。
      在这里插入图片描述

    1.2、操作系统简单分类

    1. Windows: 目前最流行的个人桌面操作系统 ,不做多的介绍,大家都清楚。
    2. Unix: 最早的多用户、多任务操作系统 .按照操作系统的分类,属于分时操作系统。Unix 大多被用在服务器、工作站,现在也有用在个人计算机上。它在创建互联网、计算机网络或客户端/服务器模型方面发挥着非常重要的作用。
      在这里插入图片描述
    3. Linux: Linux是一套免费使用和自由传播的类Unix操作系统.Linux存在着许多不同的Linux版本,但它们都使用了 Linux内核 。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。

    在这里插入图片描述
    在这里插入图片描述

    1.3、企业级与个人操作系统区别

    在这里插入图片描述
    常用的企业级操作系统有:

    • Windows Server
    • Unix
    • Linux

    二、Linux前世今生

    2.1、Linux简介

    • 类Unix系统: Linux是一种自由、开放源码的类似Unix的操作系统
    • Linux内核: 严格来说,Linux这个词本身只表示Linux内核
    • Linux之父: 一个编程领域的传奇式人物。他是Linux内核的最早作者,随后发起了这个开源项目,担任Linux内核的首要架构师与项目协调者,是当今世界最著名的电脑程序员、黑客之一。他还发起了Git这个开源项目,并为主要的开发者。
      在这里插入图片描述

    2.2、Linux诞生

    • 1991年,芬兰的业余计算机爱好者Linus Torvalds林纳斯·托瓦茨)编写了一款类似Minix的系统(基于微内核架构的类Unix操作系统)被ftp管理员命名为Linux 加入到自由软件基金的GNU计划中;
    • Linux以一只可爱的企鹅作为标志,象征着敢作敢为、热爱生活。
    • Linux特点:免费、开源
    • 版本:1991年林纳斯·托瓦茨编写发布了Linux0.0.1版本,具有重大影响。1994年3月,正式发布了Linux1.0版本

    2.3、Linux分类

    Linux根据原生程度,分为两种:

    1. 内核版本: Linux不是一个操作系统,严格来讲,Linux只是一个操作系统中的内核。内核是什么?内核建立了计算机软件与硬件之间通讯的平台,内核提供系统服务,比如文件管理、虚拟内存、设备I/O等;
    2. 发行版本: 一些组织或公司在内核版基础上进行二次开发而重新发行的版本。Linux发行版本有很多种(ubuntu和CentOS用的都很多,初学建议选择CentOS),如下图所示:
      在这里插入图片描述

    三、Linux文件系统概览

    3.1、Linux文件系统简介

    在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。

    也就是说在LINUX系统中有一个重要的概念:一切都是文件。其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。

    3.2、文件类型与目录结构

    3.2.1、文件类型

    Linux支持5种文件类型 :
    在这里插入图片描述

    3.2.2、目录结构

    Linux的目录结构如下:

    Linux文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是其根目录:
    在这里插入图片描述
    常见目录说明:

    • /bin: 存放二进制可执行文件(ls、cat、mkdir等),常用命令一般都在这里;
    • /etc: 存放系统管理和配置文件(重要);
    • /home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示;
    • /usr : 用于存放系统应用程序(使用yum命令下载的软件包会在这里);
    • /opt: 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里;
    • /proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
    • /root: 超级用户(系统管理员)的主目录(特权阶级o);
    • /sbin: 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等;
    • /dev: 用于存放设备文件;
    • /mnt: 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
    • /boot: 存放用于系统引导时使用的各种文件;
    • /lib : 存放着和系统运行相关的库文件 ;
    • /tmp: 用于存放各种临时文件,是公用的临时文件存储点;
    • /var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;
    • /lost+found: 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里。

    四、Linux基本命令

    4、目录命令

    4.1、目录切换命令

    • cd usr 切换到该目录下usr目录
    • cd ..(或cd../) 切换到上一层目录
    • cd / 切换到系统根目录
    • cd ~ 切换到用户主目录 (root用户就是/root,普通用户就是/home)
    • cd - 切换到上一个操作所在目录
    • cd /tmp/test 使用绝对路径切换
    • cd test 使用相对路径

    4.2、目录操作命令

    1. mkdir 目录名称 增加目录
      示例:

      • mkdir test
      • mkdir-p test/a/b/c:创建多级目录(使用相对路径)
      • mkdir-p/opt/test/aa/cc:创建多级目录(使用绝对路径)
    2. ls或者ll(ll是ls -l的别名,ll命令可以看到该目录下的所有目录和文件的详细信息):查看目录信息

      参数:

      • -l 以列表形式查看
      • -h 以一种人性化的方式查看,也是文件的大小以合适的单位显示
      • -a 查看所有文件,包括隐藏文件
      • -i 显示出文件的i节点号
    3. find 目录 参数 寻找目录(查)

    4. pwd 查看所在目录位置

      示例:

      • 列出当前目录及子目录下所有文件和文件夹: find .
      • /home目录下查找以.txt结尾的文件名:find /home -name "*.txt"
      • 同上,但忽略大小写: find /home -iname "*.txt"
      • 当前目录及子目录下查找所有以.txt和.pdf结尾的文件:find . \( -name "*.txt" -o -name "*.pdf" \)find . -name "*.txt" -o -name "*.pdf"
    5. mv 目录名称 新目录名称 修改目录的名称(改)

      注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作。mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。后面会介绍到mv命令的另一个用法。

    6. mv 目录名称 目录的新位置 移动目录的位置—剪切(改)

      注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作。另外mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。

    7. cp -r 目录名称 目录拷贝的目标位置 拷贝目录(改),-r代表递归拷贝

      注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归
      参数:

      • -a =-pdr
      • -p 同时复制文件属性,比如修改日期
      • -d 复制时保留文件链接
      • -r: 复制文件夹时,递归复制子文件夹
      • -l 不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出。
      • note:可以在拷贝的同时重命名
    8. rm [-rf] 目录: 删除目录(删)

      注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了增强大家的记忆, 无论删除任何目录或文件,都直接使用rm -rf 目录/文件/压缩包
      参数:

      • -r:递归删除
      • -f:强制删除 即没有提醒

    5、文件命令

    5.1、文件操作命令

    1. touch 文件名称: 文件的创建(增)
      创建文件 可以一次创建多个文件,以空格隔开

    2. cat/more/less/tail 文件名称: 文件的查看(查)
      -n:带行号

      • cat 查看显示文件内容
      • more 分页查看文件内容: 可以显示百分比,回车可以向下一行, 空格可以向下一页,q可以退出查看
        操作参数:
        进入浏览模式后:
        • f或者空格:下一页
        • enter:一行一行往下翻
        • q:退出
      • less 可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
        操作参数:
          - 空格翻页
          - 回车换行
          - pageup:上一页
          - pagedown:下一页
          - 上箭头:向上翻
          - 下箭头:向下翻
          - /搜索词 n向下找
      • head -n 查看文件前n行。缺省-n显示前10行
      • tail-10 查看文件的后10行,Ctrl+C结束

      注意:命令 tail -f 文件 可以动态显示文件末尾内容,对某个文件进行动态监控,例如tomcat的日志文件, 会随着程序的运行,日志会变化,可以使用tail -f catalina-2016-11-11.log 监控文件的变化

    3. in 链接命令
        -s创建软连接
        硬链接和cp -p的区别是硬链接会同步更新
        源文件如果丢失,硬链接依然存在。
        硬链接和源文件的i节点相同。
        硬链接不能夸分区,软连接可以跨分区。
        硬链接不可以链接目录,链接可以
        软连接文件具有的权限是ugo都是rwx

    4. rm -rf 文件 删除文件(删)

      同目录删除:熟记 rm -rf 文件 即可

    5.2、vim文件操作命令

    vim编辑器是Linux中的强大组件,是vi编辑器的加强版,vim编辑器的命令和快捷方式有很多,但此处不一一阐述,大家也无需研究的很透彻,使用vim编辑修改文件的方式基本会使用就可以了。

    在实际开发中,使用vim编辑器主要作用就是修改配置文件,下面是一般步骤:

    vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入:wq/q! (输入wq代表写入内容并退出,即保存;输入q!代表强制退出不保存。)

    1. i,a: 命令模式–>编辑模式
    2. ecs: 编辑模式–>命令模式(底行模式)
    3. 命令模式(底行模式下):
      • q!: 强制退出
      • q: 退出
      • wq: 保存并退出 (wq以及wq!,则不管有没有修改,都会强制更新修改时间,有时没修改的东西会让人误以为改了)
      • wq!: 保存并强制退出
      • x: 保存并退出(个人推荐使用,:x在由修改操作时会保存并退出,更新修改时间)
    4. set nu: 显示行号 set nonu: 取消行号
    5. 翻页查看:
      • 上一页:page up
      • 下一页: page down
    6. 跳转到指定的行:
      • gg: 跳转到第一行
      • G: 跳转到最后一行
      • 100G: 跳转到指定行,如100G就是第100行,nG:第n行
    7. /要查找的内容: 查找
    8. yy: 复制当前行
    9. p: 粘贴到当前所在行的下一行
      • 粘贴一次就输入一个p
      • 多次就多个p,如10p就粘贴10次
    10. 查找并替换:
      方式一:开始行号,结束行号s/查找的单词/替换的单词
      如:1,3s/f/XXX: 替换1到3行的f为XXX
      1,$s/f/YYY: 替换1到所有行的f为YYY
      方式二:gc方式
      %s/aaa/bbb/gc 意思就是检索所有行,挨个询问替换aaa为bbb,手动判断y是替换,n是不替换,a是替换所有,q是退出。
      • 参数:
        y - yes 替换
        n - no 不替换
        a - all 替换所有
        q - quit 退出替换
        l - last 最后一个,并把光标移动到行首
        ^E 向下滚屏
        ^Y 向上滚屏
    11. u: 撤销操作
    12. **dd:**删除当前行

    6、用户、组管理命令

    6.1、用户、组操作(权限)

    1. 查看功能命令
      • 查看个人信息
        • whoami: 查看当前登录的用户
        • who: 查看当前的账户 显示的格式为: 登录用户名 登录终端(tty:本地登录 pts:远程终端) 登录时间 ip地址
        • w: 查看更详细的用户登录信息。
        • groups: 查看当前用户所在的组
        • id: 查看当前登录的用户的uid和groupid
      • 查看系统信息
        • vim /etc/passwd: 查看所有的用户列表
        • vim/etc/group: 查看所有的组列表
    2. 用户的切换
      • su [用户名]
        比如:su zhangsan
      • su:默认切换到root
    3. 创建用户
      • useradd 用户名:新建一个用户,一个同名的组,/home/同名的文件夹(uid,gid自增)
      • useradd -u 用户id 用户名
      • useradd -b /路径 用户名
      • useradd -g 用户组 用户名: 新建用户,放到指定的用户组中
    4. 修改密码
      passwd 用户名
    5. 删除用户
      • userdel lisi: 仅删除用户
      • userdel -r Wangwu: 删除用户以及目录(-r将关联的文件一并删除)
      • userdel -rf wangwu: 删除登录用户以及目录:(-f强制)
    6. 新建用户组
      • groupadd 组名
      • groupadd -g 组id 组名
    7. 修改用户名、组
      • usermod -l 新的登录名 old 登录名: 修改登录名
      • usermod -g 新组名 登录名: 修改用户所在的组

    6.2、用户、组小结

    6.2.1、Linux 用户管理

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

    用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

    Linux用户管理相关命令:

    • useradd 选项 用户名:添加用户账号
    • userdel 选项 用户名:删除用户帐号
    • usermod 选项 用户名:修改帐号
    • passwd 用户名:更改或创建用户的密码
    • passwd -S 用户名 :显示用户账号密码信息
    • passwd -d 用户名: 清除用户密码

    useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

    passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

    6.2.2、Linux系统用户组的管理

    每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

    用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

    Linux系统用户组的管理相关命令:

    • groupadd 选项 用户组 :增加一个新的用户组
    • groupdel 用户组:要删除一个已有的用户组
    • groupmod 选项 用户组 : 修改用户组的属性

    7、权限命令

    7.1、理解

    操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在Linux中权限一般分为读(readable)、写(writable)和执行(excutable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。通过 ls -lll 命令我们可以查看某个目录下的文件或目录的权限

    示例:在随意某个目录下 ls -l 或 *ll

    在这里插入图片描述
    第一列的内容的信息解释如下:
    在这里插入图片描述

    下面将详细讲解文件的类型、Linux中权限以及文件有所有者、所在组、其它组具体是什么?

    文件的类型:

    • d: 代表目录
    • -: 代表文件
    • l: 代表软链接(可以认为是window中的快捷方式)

    Linux中权限分为以下几种:

    • r:代表权限是可读,r也可以用数字4表示
    • w:代表权限是可写,w也可以用数字2表示
    • x:代表权限是可执行,x也可以用数字1表示

    文件和目录权限的区别:

    对文件和目录而言,读写执行表示不同的意义。

    对于文件:

    权限名称可执行操作
    r可以使用cat查看文件的内容
    w可以修改文件的内容
    x可以将其运行为二进制文件

    对于目录:

    权限名称可执行操作
    r可以查看目录下列表
    w可以创建和删除目录下文件
    x可以使用cd进入目录

    需要注意的是超级用户可以无视普通用户的权限,即使文件目录权限是000,依旧可以访问。
    在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。

    • 所有者(user(owner) u)

      一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者,用ls ‐ahl命令可以看到文件的所有者 也可以使用chown 用户名 文件名来修改文件的所有者 。

    • 文件所在组(group g)

      当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组 用ls ‐ahl命令可以看到文件的所有组 也可以使用chgrp 组名 文件名来修改文件所在的组。

    • 其它组(other o)

      除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

    我们再来看看如何修改文件/目录的权限。

    7.2、chmod

    chmod: 修改文件/目录的权限的命令

    示例:修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限,
    其他用户只有读的权限

    chmod u=rwx,g=rw,o=r aaa.txt

    上述示例还可以使用数字表示:

    chmod 764 aaa.txt

    综合实例:

    • chmod u+x a.txt
    • chmod g+w,o-r a.txt //同时做多个权限的修改
    • chmod g=rwx a.txt
    • chmod 640 a.txt
    • chmod -R 777 testdir //把目录和下面所有文件的权限
    • chmod u-x,g-r,o+x test 只修改当前文件夹的权限,子文件不变
    • chmod -R u-x,g-r,o+x test 递归修改文件夹的权限

    7.3、chown

    chwon: 更改文件所有者,只有root可以更改.
    修改拥有者:拥有组–》chown (change owner)
    语法:
    chown -R 拥有者:拥有组 文件夹
    chown root a.txt //把a.txt更改为root所有

    【问题】如果普通用户,出现了对文件没有访问权限,如何解决?

    • 修改文件的权限:chmod
    • 修改文件的拥有者:chown

    7.4、chgrp

    chgrp: 更改所属组

    chgrp admin biubiubiu //把biubiubiu的所属组更改为admin

    7.5、umask -S

    umask -S查看创建文件的缺省权限,即默认权限

    umask 023: 修改文件的缺省权限为777-023=754。即-rwxr-xr–

    7.6、如何将普通用户hadoopenv升级为超级管理员?

    /etc/sudoers

    1. 先修改该文件的权限
      chmod u+w /etc/sudoers
    2. 然后添加一行(不需要密码了)
      hadoopenv ALL=(ALL)NOPASSWD:ALL
    3. 然后hadoopenv就穿上了黄马褂,可以用sudo 来执行root的权限
      sudo mkdir xx
    4. 修改完后,再修改回来(记得再把门关上)
      chmod u-w /etc/sudoers

    补充一个比较常用的东西:

    假如我们装了一个zookeeper,我们每次开机到要求其自动启动该怎么办?

    1. 新建一个脚本zookeeper
    2. 为新建的脚本zookeeper添加可执行权限,命令是:chmod +x zookeeper
    3. 把zookeeper这个脚本添加到开机启动项里面,命令是:chkconfig --add zookeeper
    4. 如果想看看是否添加成功,命令是:chkconfig --list

    8、压缩解压命令

    8.1、打包并压缩文件

    Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。

    而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。
    命令:tar -zcvf 打包压缩后的文件名 要打包压缩的文件
    其中:

    z:调用gzip压缩命令进行压缩
    c:打包文件
    v:显示运行过程
    f:指定文件名

    比如:假如test目录下有三个文件分别是:aaa.txt bbb.txt ccc.txt,如果我们要打包test目录并指定压缩后的压缩包名称为test.tar.gz可以使用命令:tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt或:tar -zcvf test.tar.gz /test/

    8.2、解压压缩包

    命令:tar [-xvf] 压缩文件
    其中:x:代表解压

    示例:

    1 将/test下的test.tar.gz解压到当前目录下可以使用命令:tar -xvf test.tar.gz

    2 将/test下的test.tar.gz解压到根目录/usr下:tar -xvf test.tar.gz -C /usr(- C代表指定解压的位置)

    8.3、按格式分类

    • .gz格式

      • 压缩:gzip 文件名 只能压缩文件不能压缩目录,压缩完源文件也不见了
      • 解压缩:gunzip/gzip -d 压缩包名称
    • tar:

      • tar -zcvf 压缩后文件名 打包的目录 :生成.tar.gz文件 注:这个命令先用tar归档,然后把归档的包压缩成.gz
      • tar -zxvf 要解压的文件名 :解压缩.tar.bz2的文件
      • tar -jcvf 压缩后的文件名 打包的目录:生成.tar.bz2 注:这个命令先用tar归档,然后把归档的包压缩成.bz2
      • tar -jxvf 要解压的文件名 :解压.tar.bz2的文件
    • zip:

      • zip -r 压缩生成的文件名 要压缩的目录
      • zip 压缩生成的文件名 要压缩的文件
    • unzip:

      • unzip 要解压缩的文件
    • bzip2:

      • bzip2 -k 要压缩的文件名 -k选项:保留源文件
      • bunzip2 -k 要解压的文件名 -k选项:保留压缩包

    9、文件搜索命令

    9.1、find

    find:搜索制定范围内的文件
    find [搜索范围] [匹配条件]
    [匹配条件] 参数:

    • -name 按文件名搜索

    • -iname 根据文件名查找,不区分大小写

    • -size +n大于 -n小于 n等于 这个n是数据块,在Linux中一个数据块是512字节大小

    • -user 根据所有者查找

    • -group 根据所属组查找

    • 根据文件属性查找:

      • -amin 访问时间 access
      • -cmin 根据文件属性被修改的时间 change
      • -mmin 根据文件内容被修改的时间 modify
          例: find /etc -cmin -5 :查找/etc目录下五分钟内被修改过属性的文件和目录
    • -a 两个条件同时满足
          find /etc -size +10 -a -size -50

    • -o 两个条件满足一个即可

    • -type
          f 文件 d 目录 l软连接文件

    • -inum 根据i节点查找

    • 对找到的结果进行操作
          -exec 或者 -ok 命令 {} ;
          例如:
            find /etc -name init* -exec ls -l {} ; 对找到的文件名按列表查看

    例子:

    • find /etc -name init :搜索目录/etc下面所有的init文件,精确匹配,包括子目录中的init文件
    • find / -size +204800 搜索大于100M的文件

    9.2、locate

    locate:
    1、查找速度非常快,因为它维护了一个文件库。
    2、缺点就是新建立的文件没有很快收录到文件库

    • locate 文件名
    • updatedb 更新locate的文件资料库 文件资料库不收录/tmp下的文件
    • -i 不区分大小写

    示例:

    # 更新数据,新建文件后,需要使用此命令
    updatedb
    # 在系统上查找所有包含vimrc的文件
    locate vimrc
    # 使用正则表达式
    locate --regexp vim*
    

    9.3、which

    which :查找命令的目录以及别名
    which 命令

    [root@biubiubiu /]# which vi
    alias vi='vim'
    	/usr/bin/vim
    

    9.4、whereis

    whereis :搜索命令所在目录及帮助文档路径
    whereis 命令

    [root@biubiubiu /]# whereis vi
    vi: /usr/bin/vi /usr/share/man/man1/vi.1.gz /usr/share/man/man1p/vi.1p.gz
    
    

    9.5、grep

    grep:在文件中搜寻字符串匹配的行并输出,多个文件以空格隔开
    参数:

    • -i不区分大小写
    • -v排除指定字符串
    • -E 以正则表达式的方式搜索
    • -F 以普通文本的方式搜索
    • -n 显示搜索到的内容在文件中的行号。

    示例:

    #多文件查询
    grep leo logs.log logs_back.log
    
    #查找即包含leo又包含li的行
    grep leo logs.log | grep li
    
    #查找匹配leo或者匹配li的行
    grep leo | li logs.log
    
    #显示匹配行前2行
    grep leo logs.log -A2
    
    #显示匹配行后2行
    grep leo logs.log -B2
    
    #显示匹配行前后2行
    grep leo logs.log -C2
    
    #不区分大小写
    grep -i leo logs.log
    
    #使用正则表达式
    grep -e '[a-z]\{5\}' logs.log
    
    #查找不包含leo的行
    grep -v leo logs.log
    
    #统计包含leo的行数
    grep -c leo logs.log
    
    #遍历当前目录及所有子目录查找匹配leo的行
    grep -r leo .
    
    #在当前目录及所有子目录查找所有java文件中查找leo
    grep -r leo . --include "*.java"
    
    #查找并输出到指定文件
    grep leo logs.log > result.log
    
    #查找以leo开头的行
    grep ^leo logs.log
    
    #查找以leo结尾的行
    grep leo$ logs.log
    
    #查找空行
    grep ^$ logs.log
    

    10、帮助命令

    10.1、man

    man:查看命令或者配置文件的帮助信息
      man 命令/配置文件
      在手册里面,可以输入/要查找的str
      man ls
      在这里插入图片描述
      man services
      man fstab //直接输入配置文件的名字,而不需要使用绝对路径 重点查看name选项和配置文件的格式。
      如果一个命令即使命令又是配置文件,那么可以使用一个序号进行区分,比如:
      man 1 passwd 查看命令passwd的帮助
      man 5 passwd 查看配置文件passwd的帮助

    10.2、whatis

    whatis 命令:得到命令的简要信息

    [root@biubiubiu /]# whatis ls
    ls (1)               - list directory contents
    ls (1p)              - list directory contents
    [root@biubiubiu /]# whatis id
    id (1)               - print real and effective user and group IDs
    id (1p)              - return user identity
    [root@biubiubiu /]# 
    

    10.3、apropos

    apropos 配置文件名:查看配置文件的简短信息

    [root@biubiubiu etc]# apropos yum.conf
    yum-config-manager (1) - manage yum configuration options and yum repositories
    yum.conf (5)         - Configuration file for yum(8).
    [root@biubiubiu etc]#
    

    10.4、help

    help 命令:

    • 查看shell内置命令的帮助信息。
    • shell内置命令是没有命令路径。
    • 不能使用man查看帮助。

    help cd
    在这里插入图片描述
    ls --help
    在这里插入图片描述

    11、网络命令

    11.1、write

    write:给在线用户发送信息,用户不在线不行。以Ctrl+D保存

    write 用户名

    11.2、wall

    wall:给所有用户名发送信息

    wall 要发送的信息

    11.3、ping

    ping:测试网络连通性
    ping ip地址
    参数:
      -c 要ping的次数

    11.4、ifconfig

    • ifconfig: 直接回车查看当前网卡信息

    • ifconfig 网卡名 ip地址: 临时修改网络ip
      示例:
          ifconfig th0:0 192.168.1.100 netmask 255.255.255.0
            给th0这个网卡新添加一个ip
          ifconfig eth0:0 down
          ifconfig eth0:0 up

    • ifdown th0: 禁用th0这块网卡

    • ifup th0: 开启th0这块网卡

    11.5、mail

    mail:邮件命令
    mail 要发送的用户名
    mail 直接回车 查看命令
    参数:
        help :查看支持的命令格式
        输入序列号:查看邮件详细内容
        h: 回到邮件列表
        d 序列号:删除序列号对应的邮件

    11.6、nslookup

    nslookup:查看网站ip地址

    nslookup www.baidu.com 查看百度的ip地址

    11.7、netstat

    netstat:显示网络相关信息
    参数:

    • -t :tcp协议
    • -u :udp协议
    • -l:监听
    • -r:路由
    • -n:显示ip地址和端口号

    netstat -tlun:查看本机监听的端口
    netstat -an:查看所有的监听信息
    netstat -rn :查看路由表,即网管

    11.8、wget

    wget 文件地址 下载文件
    参数:

    • -h:显示帮助说明;
    • -b:后台下载;
    • -c:继续上次终端的下载任务;
    • -r:递归下载文件

    实例:

    1. wget http://search.maven.org/remotecontent?filepath=log4j/log4j/1.2.17/log4j-1.2.17.tar.gz 下载单个文件
    2. wget -i fileList 下载多个文件(fileList里需要有多个url)
    3. wget -c http://search.maven.org/remotecontent?filepath=log4j/log4j/1.2.17/log4j-1.2.17.tar.gz 断点下载
    4. wget -b http://search.maven.org/remotecontent?filepath=log4j/log4j/1.2.17/log4j-1.2.17.tar.gz 后台下载
    5. wget --limit-rate=400k http://search.maven.org/remotecontent?filepath=log4j/log4j/1.2.17/log4j-1.2.17.tar.gz 限速400k下载

    11.9、service network restart

    service network restart:重启网络服务。

    11.9.1、telnet

    telnet 域名或ip
      远程管理与端口探测
      如: telnet 192.168.2.3:80
        探测192.168.2.3是否开启了80端口

    11.9.2、mount

    mount:挂载命令
      mount -t iso9660 /dev/sr0 /mnt/cdrom :把sr0挂载到cdrom

    12、关机重启命令

    在这里插入图片描述

    12.1、shutdown

    shutdown:这个关机命令更安全一些,不推荐使用其他关机命令。
      -h:关机
    shutdown -h now 立刻关机
    shutdown -h 20:30 八点半关机
      -r:重启
    shutdown -r now 相当于reboot,立刻重启
      -c:取消上次的关机命令
    shutdown -c: 取消

    12.2、reboot

    reboot 等于 shutdown -r now 立刻重启

    12.3、logout

    logout:退出当前用户,返回到登录界面

    13、常用快捷键

    1. ctrl+c:强制终止当前命令
    2. ctrl+l:清屏
    3. ctrl+a:光标移动到命令行首
    4. ctrl+e:光标移动到命令行尾
    5. ctrl+u:从光标所在位置删除到行首
    6. ctrl+z:把命令放入后台
    7. ctrl+r:在历史命令中搜索

    14、yum命令

    1. yum list :获取服务器上所有可用的软件的列表
    2. yum search 关键字:搜索服务器上所有和关键字相关的包
    3. yum -y install 包名:安装软件包
      参数:
      • install:安装
      • -y:自动回答yes
    4. yum -y update 包名:升级软件包
      参数:
      • update:升级
      • -y:自动回答yes
      • 如果没有包名,就会升级所有的软件包,包括Linux内核。慎用
    5. yum -y remove 包名:卸载软件包
      参数:
      • remove:卸载
      • -y:自动回答yes
      • 注:yum会自动卸载依赖包,而很有可能这个依赖包也被别的包依赖,所以很危险,慎用。
    6. yum grouplist:列出所有可用的软件组列表
    7. yum groupinstall 软件组名:安装指定软件组,组名可以由grouplist查询出来
      注:如果查询出来的软件组名中间有空格,要使用""引起来。
    8. yum groupremove 软件组名:卸载指定软件组

    五、其它杂项

    15、ps和kill

    ps 静态查看系统进程,系统默认安装
    ps -aux | grep 文件名 或 ps -ef | grep 文件名 根据文件名过滤进程(最常配合kill使用)
    ps -u 用户名 根据用户过滤进程

    lsof -Pti :端口号 通过端口号获得进程pid

    kill -9 pid: 杀死指定pid的进程,强行杀死。

    16、top

    top: 动态查看系统的状态

    17、history

    history 查看历史命令

    执行历史命令:
      !! 执行上一条命令
      !n 执行历史命令的中第n条
      !-n 执行导数第n条
      !string 执行以string开头的历史命令行
      !?string? 执行包含string的历史命令行

    18、alias和unlias

    18.1、alias:给命令起别名

    alias 命令='别名'
    示例: alias vi='vim'
    alias -p :查看已存在的别名

    但是仅仅是这样改的话,当系统重启之后就会失效。
    想要永久生效,需要修改根目录下.bashrc配置文件

    [root@biubiubiu ~]# vi .bashrc 
    

    在这里插入图片描述
    配置完成后需要使配置文件生效

    [root@biubiubiu ~]# source .bashrc 
    

    18.2、unlias :取消别名

    unlias name
    示例:unlias vi

    如果是之前修改了配置文件,需要再次去修改删掉。

    19、cal

    cal:查看某一年的日历,可以是1-9999中的任意一年
     示例:
      cal 2020 2020年日历

    20、网络配置

    20.1、三个网络配置文件

     /etc/sysconfig/network-scripts/ifcfg-网卡
     /etc/sysconfig/network
     /etc/resolv.conf # dns
    

    20.2、配置ip

    在这里插入图片描述

    20.3、远程执行命令

    ssh root@192.168.8.15

    21、CentOS环境变量配置

    CentOS的环境变量配置文件体系是一个层级体系,这与其他多用户应用系统配置文件是类似的,有全局的,有用户的,有shell的,另外不同层级有时类似继承关系。下面以PATH变量为例。

    1. 修改/etc/profile文件,将影响全局,所有用户
      /etc/profile在系统启动后第一个用户登录时运行。
      在/etc/profile文件中添加
      java export PATH=/someapplication/bin:$PATH
      要使修改生效,可以重启系统,或者执行
      java source /etc/profile echo $PATH

    2. 修改/etc/environment,将影响全局
      /etc/environment文件与/etc/profile文件的区别是:/etc/environment设置的是系统的环境,而/etc/profile设置的是所有用户的环境,即/etc/environment与用户无关,在系统启动时运行。
      在/etc/environment文件中添加
      java PATH=/someapplication/bin:$PATH
      CentOS和大多Linux系统使用$访问环境变量,环境变量PATH中使用冒号:分隔。而Windows中使用两个%访问环境变量,PATH使用分号;分隔,例如:

      java set PATH=E:\someapplication\bin;%PATH%

    3. 修改~/.bash_profile(首选),将影响当前用户。在~/.bash_profile文件中添加

      java export PATH=/someapplication/bin:$PATH

    4. 修改/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc),影响所有用户使用的bash shell。
      /etc/bashrc顾名思义是为初始化bash shell而生,在bash shell打开时运行。
      这里bash shell有不同的类别:登录shell和非登陆shell,登录shell需要输入用户密码,例如ssh登录或者su - 命令提权都会启动login shell模式。非登陆shell不会执行任何profiel文件;交互shell和非交互shell,提供命令提示符等待用户输入命令的是交互shell模式,直接运行脚本文件是非交互shell模式,一般情况下非交互shell模式不执行任何bashrc文件。根据以上情况,选择是否修改/etc/bashrc。

    5. 修改~/.bashrc,影响当前用户使用的bash shell。

    6. 在终端中执行以下命令,只影响当前终端。
      java export PATH=/someapplication/bin:$PATH

    22、防火墙firewall

    1、开放端口

    firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口

    firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口

    命令含义:
    
    –zone #作用域
    
    –add-port=80/tcp #添加端口,格式为:端口/通讯协议
    
    –permanent #永久生效,没有此参数重启后失效
    

    firewall-cmd --reload # 配置立即生效

    2、查看防火墙所有开放的端口

    firewall-cmd --list-ports

    firewall-cmd --zone=public --list-ports

    3.、关闭防火墙

    如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估

    systemctl stop firewalld.service

    #重启firewall 
    firewall-cmd --reload 
    #停止firewall 
    systemctl stop firewalld.service 
    #禁止firewall开机启动 
    systemctl disable firewalld.service 
    
    	查看防火墙状态:firewall-cmd --state
    	关闭防火墙: systemctl stop firewalld.service
    	禁止防火墙开机启动:systemctl disable firewalld.service
    

    4、查看防火墙状态

    firewall-cmd --state

    5、查看监听的端口

    netstat -lnpt

    img

    PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools

    6、检查端口被哪个进程占用

    netstat -lnpt |grep 5672

    img

    7、查看进程的详细信息

    ps 6832

    img

    8、中止进程

    kill -9 6832

    23、IO Stream

    标准流:
    stdin:标准输入,编号为0,用于程序从键盘等设备接收数据。输入流被EOF(文件结尾)终止
    stdout:标准输出,编号1,用于程序向终端等设备写入数据
    stderr:标准错误,编号2,用于向终端等设备显示错误消息
    重定向I/O Stream到文件:
    
    选项说明模式
    <重定向stdin
    >重定向stdout覆盖
    >>重定向stdout追加
    2>重定向stderr覆盖
    2>>重定向stderr追加
    案例:
    [root@os1 test_data]# cat startxx.sh 1>>output.log 2>>output_err.log
    

    24、date

    date --help
    date +%Y-%m-%d #2017-12-23
    date +%H:%M:%S #13:29:03
    date +%I:%M:%S #12小时时间显示
    date +%c #locale的完整日期和时间
    date -u #UTC日期和时间
    date -R #RFC-2822格式
    date -Iseconds #ISO-8601格式
    date -s “2019-07-09 16:12:00“ #设置时间
    

    25、yum安装

    一、下载yum安装包并解压

    wget http://yum.baseurl.org/download/3.4/yum-3.4.3.tar.gz
    tar xvf yum-3.4.3.tar.gz
    

    二、进入yum-3.4.3文件夹中进行安装,执行安装指令

    cd yum-3.4.3
    sudo apt install yum
    

    三、更新到新版本

    yum check-update
    yum -y update
    yum clean all
    

    请多多支持博主,点赞关注一起进步哦~

    展开全文
  • pc滚屏截长图工具

    2017-03-26 18:12:56
    pc滚屏截长图工具
  • 滚屏截图软件

    2015-04-17 09:21:50
    http://down7.3987.com:801/2010/FSCapture.rar
    展开全文
  • 其独有的光滑和毛刺处理技术让图片更加清晰,提供缩放、旋转、减切、颜色调整功能。只要点点鼠标就能随心抓取屏幕上的...该软件拥有不规则抓图、滚动抓图、活动窗口抓图、图片简单处理、屏幕录制等很多很多实用的功能
  • android无限自动轮播图控件.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 文章以T6963C控制的240×128 LCD液晶显示屏模块阐述了一种基于EP1C6Q240C8处理器的液晶显示屏的滚屏显示的软硬件控制方法,并给出硬件原理图与部分软件代码。本方案对于NIOS II系统其他模块的开发具有借鉴意义。  ...
  • 自动滚屏工具,自动滚屏,看电子图书的好工具。
  • 无限循环文字向上完美无缝滚屏

    千次阅读 2018-03-23 14:37:43
    &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/title&...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,390
精华内容 1,756
关键字:

有滚屏的软件