Windows cmd and linux shell commands equivalents
Table of linux and windows commands equivalents like:
- shutdown vs reboot
- ipconfig vs ifconfig
- F7 vs history
- help vs man
Have you ever wonder about a command – is it a Linux one or a Windows one? For me, this happens all the time. I’m using commands quite often so I’ve made my own cheat-list with Linux and Windows pairs of commands. You can use it also when you want to learn the other operating system.
If you find any mistakes or incomplete information feel free to comment. I’m open for suggestions.
Note: It’s personal list based on personal experience. Some of the commands are used with different version of the OS so they could vary a little.
Next part is: Windows and Linux variable equivalents
Full page version:
Windows and Linux commands
Here’s the result of it:
Windows | Linux | ||||||
Type | Description | Command | Example | Result | Command | Example | Result |
General | Logoff | shutdown | shutdown -l | reboot | reboot | ||
Restart | shutdown | shutdown -r | logout | logout | |||
Shutdown | shutdown | shutdown -s | poweroff | poweroff | |||
Show user | echo %USERNAME% | echo %USERNAME% | user | echo | echo $USER | user | |
Install application | apt-get | sudo apt-get install ${package} | |||||
Remove application | apt-get | apt-get remove ${package} | |||||
Zip/unzip current folder | zip | zip -r file.zip folder | unzip | sudo apt-get install zip unzip | |||
Connect ssh | You need putty client | plink [email protected] -P 33 | ssh | ssh[email protected] -p 33 | |||
List mounted devices | net use | net use | findmnt | findmnt -lo source,target,fstype,label,options | |||
Mount Remote | net use | net use \ServerShareFolder | mount | mount 192.168.1.1:/home /mnt/nfs/home | |||
Show network info | ipconfig | ipconfig /all | Windows IP Configuration | ifconfig | ifconfig | eth0 Link encap:Ethernet HWaddr | |
Execute script | test.cmd | ./ | ./test.sh | ||||
History | F7 | F7 | 0: dir | history | history | | |
Go to previous command | ↑ or F8 | F8 or ↑ | ↑ | ↑ | |||
Search for commands | CTRL R | CTRL R and type the command | |||||
Clears screen | cls | cls | clear | clear | |||
Closes shell prompt | exit | exit | exit | ||||
Displays or sets date | date | date | date | ||||
Displays command help | command /? | dir /? | info | man command | |||
Displays command help 2 | help command | help dir | man | info command | |||
Autocompletion | TAB | TAB | TAB | TAB | |||
Uptime and logged user | quser | C:UsersuserDesktop>quser | USERNAME;SESSIONNAME;ID; | uptime | uptime | 06:18:56 up 75 days, 17:31, 1 user, | |
Files & | Show current folder | cd | cd | C:Usersuser | pwd | pwd | /home/user |
Show current folder 2 | chdir | chdir | C:Usersuser | echo | echo $PWD | /home/user | |
Create file | copy NUL file1.txt | touch | touch file.txt | ||||
Create file | echo. 2>file2.txt | cat | cat > myfile.txt | ||||
Renames a file | ren | ren file1.txt file2.txt | mv | mv tfileold.txt filenew.txt | |||
Copies files | copy | copy file1.txt C:/foldercopy | cp | cp file.txt /home/foldercopy | |||
Moves files | move | move file1.txt C:/newfolder | mv | mv file.txt /home/newfolder | |||
Lists files | dir | ls | ls | ||||
Collect file names | dir | dir “C:” >FilesC.txt /b /o | file1 | find | find /home -name ‘*’ | /home/file1 | |
Deletes files | del | del deleteme.txt | rm | rm deleteme.txt | |||
Deletes folder | rmdir | rmdir /S deleteme | rm -r | rm -r deleteme | |||
“Echoes” output to the | echo | echo | echo this message | ||||
Delete file content | type | type nul | cat | > file.txt | |||
Compares the contents of files | fc | fc file1.txt file2.txt | Comparing files file1.txt and | diff | diff file1.txt file2.txt | ||
Finds a string of text in a file | find | find “test” 123.txt |
| grep | grep test file1.txt | test line | |
Displays help | command /? | dir /? | info | man command | |||
Displays help 2 | help command | help dir | man | info command | |||
Creates a folder | mkdir | mkdirnewfolder | mkdir | mkdir directory | |||
View file content | more | more file1.txt | less | less file1.txt | |||
View file content 2 | type | type file1.txt | tail | tail -n 15 file1.txt | |||
Edit file | edit | edit file1.txt | vi | vi file.txt | |||
Changes directories with a | cd | cd C:/ | cd | cd /directory/directory | |||
Go one folder | cd | cd .. | cd | cd .. | |||
Search for a file | dir | dir /s *test* | 07/31/2021 02:30 AM 301 test.png | find | find / -name ‘*test*’ | /home/test.txt | |
Search for text files | dir | dir /b/s *.txt | find | find / -name ‘*.txt’ | |||
Change files extension to lower | ren | ren *.TXT *.txt | mv | for i in $( ls | |||
Check files permissions | ls | ls -l /home/user | “-rwxr–xr-x 1 root root 53 Mar 23 | ||||
Change Permissions | chmod | chmod 755 file | |||||
Changing ownership | chown | chown user file | |||||
Changing group ownership | chgrp | chgrp group file | |||||
Other | Displays the date | date | date /T | Wed 07/05/2021 | date | date ‘ %d %W %Y’ | 05 27 2021 |
Displays the time | time | time /T | 1:27 PM | date | date ‘ %X’ | 12:18:22 PM | |
Shows amount of RAM in use | wmic | wmic OS get FreePhysicalMemory | free | free | |||
Show disk space | wmic | wmic logicaldisk | dh | dh -f | |||
Show processes | tasklist | tasklist | top | top | |||
Services | Stop execution | CTRL C | CTRL C | CTRL C | CTRL C | ||
Start service | net | net start [serviceName] | service | sudo service [serviceName] start | |||
Stop service | net | net stop [serviceName] | service | sudo service [serviceName] stop | |||
Start service 2 | sc | sc start [serviceName] | systemctl | sudosystemctl start [serviceName] | |||
Stop service 2 | sc | sc stop [serviceName] | systemctl | sudosystemctl stop [serviceName] | |||
Variables | Display all variables | set | set | USERNAME=user | printenv | printenv | HOME=/home/user |
Display variable | echo | echo %USERNAME% | user | echo | echo $HOME | /home/user | |
Display variable 2 | set | set USERNAME | USERNAME=user | printenv | printenv | grep | HOME=/home/user | |
Set variable | set | set MYVAR=VALUE | export | export MYVAR=/path/to/var | |||
Set variable permanent | setx | setx MYVAR VALUE | change profile | vi ~/.bash_proflle |

Sublime text 3 c build system to run c executable within sublime text or in a terminal emulator in cases that the program need input from standard input. this build system works on linux, windows and macos
Sublime text 3 C build system to run C executable within sublime text or in a terminal emulator in cases that the program need input from standard input. This build system works on Linux, Windows and MacOS
{ | |
“shell_cmd”: “g -std=c 11 -Wall “${file}” -o “${file_path}/${file_base_name}” && “${file_path}/${file_base_name}””, | |
“file_regex”: “^(..[^:]*):([0-9] ):?([0-9] )?:? (.*)$”, | |
“working_dir”: “${file_path}”, | |
“selector”: “source.c , source.cpp, source.cc, source.cxx”, | |
“variants”: | |
[ | |
{ | |
“name”: “Run in Terminal”, | |
“linux”: { | |
“shell_cmd”: “g -std=c 11 -Wall “${file}” -o “${file_path}/${file_base_name}” && xterm -e ‘${file_path}/${file_base_name} && echo && echo Press ENTER to continue && read line && exit'”, | |
// “shell_cmd”: “g -std=c 11 -Wall “${file}” -o “${file_path}/${file_base_name}” && gnome-terminal -e ‘bash -c “${file_path}/${file_base_name}&& echo && echo Press ENTER to continue && read line && exit”‘”, // for gnome-terminal | |
// “shell_cmd”: “g -std=c 11 -Wall “${file}” -o “${file_path}/${file_base_name}” && xterm -e ‘${file_path}/${file_base_name}; bash'”, // for xterm | |
// “shell_cmd”: “g -std=c 11 -Wall “${file}” -o “${file_path}/${file_base_name}” && xterm -hold -e ${file_path}/${file_base_name}”, // for xterm | |
// “shell_cmd”: “g -std=c 11 -Wall “${file}” -o “${file_path}/${file_base_name}” && konsole –hold -e ${file_path}/./${file_base_name}”, // for konsole | |
}, | |
“windows”:{ | |
“shell_cmd”: “g -std=c 11 -Wall “${file}” -o “${file_path}/${file_base_name}” && start cmd /k $file_base_name “ | |
// “shell_cmd”: “g -std=c 11 -Wall “${file}” -o “${file_path}/${file_base_name}” && start “$file_base_name” call $file_base_name” | |
}, | |
“osx”:{ | |
“shell_cmd”: “g -std=c 11 -Wall “${file}” -o “${file_path}/${file_base_name}” && xterm -e ‘${file_path}/${file_base_name} && echo && echo Press ENTER to continue && read line && exit'”, | |
}, | |
“shell”: true, | |
}, | |
] | |
} |
Объект wscript.shell метод run – запуск внешних программ |
Доброго времени суток всем читателям блога msconfig.ru. В этой статье мы подробно рассмотрим метод Run Wscript.Shell объекта. Данный метод служит для запуска внешних приложений из тела сценариев Windows Script Host.
Для начала мы рассмотрим теоретическую часть, а потом приступим к программированию.
Run(strCommand, [intWindowStyle], [bWaitOnReturn]) – данный метод служит для запуска другого приложения как в консольном режиме (командная строка), так и в оконном. При открытии исполняемого файла создается новый процесс. Ему передаются следующие параметры:
strCommand – данный параметр является обязательным, поскольку задает путь для файла или команды. Стоит учитывать, что если путь содержит пробелы, то его обязательно стоит заключать в двойные кавычки, иначе, возникнет ошибка “The system cannot find the file specified” – система не может найти указанный файл. Также полезно, использовать переменные окружения в пути к приложению, это экономит время.
intWindowStyle – является необязательным, и задает стиль окна. Параметр может принимать целые значения от 0 до 10. Согласно документации, в языке vbscript можно использовать именованные константы, но, они не всегда дают ожидаемый результат, и так как эти значения между собой повторяются, я упомянул лишь три:
bWaitOnReturn – может принимать true – сценарий будет ожидать завершения работы запущенного приложения, и только потом перейдет к выполнению следующей строчки кода, false – будет продолжатся выполнение сценария независимо от того, завершилась работа запущенного приложения или нет. Также следует учесть, что если установлено true, то метод вернет код выхода вызванного приложения, если установлено false – всегда будет возвращаться ноль.
Хорошо, теперь настало время заняться программирование. Для начала напишем программный код на языке VBScript:
Давайте проанализируем логику работы данного сценария. Переменная path хранит путь к папке System32, так как в ней у нас лежат исполняемые файлы notepad и calc. Переменная окружения “%WINDIR%” позволяет сократить строки кода и не писать “C:\Windows“. WshShell содержит ссылку на экземпляр объекта Wscript.Shell, видим, чтобы создать саму ссылку, мы перед переменной прописали ключевое слово set, после чего идет вызов метода CreateObject класса WScript, подробней о работе с объектами читайте “Урок 8 по VBScript: Объекты и классы” и “Урок 4 по JScript: Создание собственных объектов“. Далее мы запускаем блокнот с помощью метода Run Wscript Shell класса, через переменную WshShell. Для программы notepad мы третий параметр команды Run поставили в true, поэтому, исполняемый файл calc запустится только после закрытия приложения блокнот, плюс, перед этим появится информационное сообщение.
Хорошо, теперь давайте посмотрим на аналогичный пример, но написанный уже на языке jscript.
В данном примере, мы видим, что для команды Run мы прописали второй параметр (1 – нормальный режим), если этого не сделать, то произойдет ошибка, язык jscript не дает нам возможности пропустить параметр. Также видим, что тут не нужно использовать дополнительное ключевое слово типа set.
Хорошо, теперь давайте посмотрим на еще один пример на языке vbscript.
В этом примере мы также запустили приложение notepad, но, не прописывали путь к нему. Дело в том, что команда Run объекта Wscript.Shell работает как команда “Windows Пуск/Выполнить“, и при запуске приложения, сперва идет его поиск в переменных средах Windows, в которые, и входит папка System32. Также видим, что мы передали программе содержимое нашего сценария (строка WScript.ScriptFullName), фактически, скопировали в него весть текст скрипта.
Ну и напоследок, аналогичный пример, но уже на языке jscript:
Скачать архив с примерами
И так, давайте все подытожим… В этой статье мы разобрали метод Run класса Wscript Shell, который позволяет запускать заданное приложение, и передавать ему нужные параметры, так, мы можем открыть текстовый редактор и вставить в него нужный текст. Аналогично, можно использовать и метод Exec, который тоже позволяет запускать исполняемый файл, но в отличии от метода Run, он позволяет контролировать работу исполняемого файла.
Спасибо за внимание. Автор блога
Rspec
{"keys": ["ctrl shift r","ctrl shift r"],"command": "shell_exec_open","args": {"title": "RSpec Command:","format": "rspec ${input} --require spec_helper"}},{"keys": ["ctrl shift r","ctrl shift o"],"command": "shell_exec_open","args": {"title": "RSpec Command:","command": "'${file}:${row}'","format": "rspec ${input} --require spec_helper"}},{"keys": ["ctrl shift r","ctrl shift a"],"command": "shell_exec_run","args": {"command": "rspec spec --require spec_helper"}},{"keys": ["ctrl shift r","ctrl shift f"],"command": "shell_exec_run","args": {"command": "rspec '${file}' --require spec_helper"}},{"keys": ["ctrl shift r","ctrl shift l"],"command": "shell_exec_run","args": {"command": "rspec '${file}:${row}' --require spec_helper"}},{"keys": ["ctrl shift r","ctrl shift s"],"command": "shell_exec_run","args": {"command": "rspec '${region}' --require spec_helper"}}
Sublime text 2 – open cmd prompt at current or project directory (windows)
- Go to
Menu
>Preferences
>Browser Packages
. - Open the
user
directory. - Create a new file
cmdRunFromDIR.sublime-build
and open in Sublime Text. Paste the following…
{ "cmd": ["C:\\Windows\System32\cmd.exe", "/C START &"], "working_dir": "$file_path" }
The above will open the current folder but if you want the project directory then there’s a whole host of different methods here.
Note: That the&
afterSTART
will then pass on the$file_path variable
which can be changed to any of those below. I couldn’t see any documentation for this. It was just trial and error on my behalf and makes sense if you think about it. So, if you try to pass"cmd": ["C:\\Windows\System32\cmd.exe", "/C START & $file_path"]
to will get anERROR
if the path has any whitespaces in it.$file_path The directory of the current file, e.g., C:Files. $file The full path to the current file, e.g., C:FilesChapter1.txt. $file_name The name portion of the current file, e.g., Chapter1.txt. $file_extension The extension portion of the current file, e.g., txt. $file_base_name The name-only portion of the current file, e.g., Document. $folder The path to the first folder opened in the current project. $project The full path to the current project file. $project_path The directory of the current project file. $project_name The name portion of the current project file. $project_extension The extension portion of the current project file. $project_base_name The name-only portion of the current project file. $packages The full path to the Packages folder.
For the keyboard shortcut go to
Menu
>Preferences
>Key Bindings
and paste the following code. This shortcut isCTRL C
,D
.{ "keys": ["alt c,alt d"], "command": "build", "args": { "file": "{packages}/User/cmdRunFromDIR.sublime-build" } }
Add
,
at the end of this line if it’s not the last line in that file.There’s no requirement to restart Sublime Text.
You also access this via
Menu
>Tools
>Build System
>cmdRunFromDIR
.
Once this is doneCTRL B
will run the command also.
Useful links:See 1st link below for how to run .bat
files directly from Sublime Text. Very little modification of the code above.
Build System – Sublime Text 3
In Sublime Text 3, how to have shortcuts for “Build and Run” and “Build only” separately like it was in Sublime Text 2
How to Add a Shortcut for Any Command in Sublime Text
Build Systems – Configuration
Нерекомендуемый способ
Для примера установим браузер Chrome.Пишем в командной строке повершела командлет Install-Package, потом через пробел параметры, а именно: название нашего приложения — googlechrome, потом ключ -ProviderName, которым мы явно зададим с какого репозитория скачивать совт и название репозитория chocolatey.
В самом конце добавим 2 ключа: -Verbose и -force. Первый для того, что бы видеть процесс инсталляции, второй — для игнорирования запросов, например на перезапись файла.В конечном итоге у вас должна получиться такая строка:
Install-Package googlechrome -ProviderName chocolatey -Verbose -force
Далее для установки другого приложения вам нужно только изменять названия пакета. Например, что бы установить архиватор WinRAR — нужно изменить googlechrome на winrar:
Install-Package winrar -ProviderName chocolatey -Verbose -force
Для того, что бы посмотреть, что вы там себе наустанавливали — нужно набрать командлет Get-Package без всяких параметров:
Get-Package
Он выведет на экран список всех установленных приложений.
Но Opera, Mozilla FireFox и ещё фигова туча приложений, которые есть в репозитории chocolatey, у вас не будут устанавливаться. Повершел ругнётся на неизвестный ему командлет, например на:
«Get-OSArchitectureWidth» не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку
Более того, установить такое приложение другим способом, уже тоже не удастся. Система будет ругаться на то, что программа установлена. Поэтому, если вы столкнулись с такой ошибкой, обязательно наберите команду Uninstall-Package и название пакета, например:
Uninstall-Package opera
Короче, давайте срезюмируем. Данный метод имеет хоть и один, но очень серьёзный недостаток: несмотря на наличие приложения в репозитории — далеко не каждое может быть установлено. Выяснить это можно исключительно методом научного тыка.
Поэтому рекомендую использовать собственную утилиту проекта Chocolatey.
Ссылки хронология:
2021.09.09:
для экспериментов с Native режимом Windows.
2021.01.24: Обновление
0.02.
2021.01.26: Обновление
до версии 0.11. Полноценный запуск native-процессов. Использованы исходные коды NCLI (Native Command Line Interface) из проекта TinyKRNL (лицензия LGPL).
2021.01.28: Консольные
, использующие Native API.
2021.02.02:
функциям. Пока выложены функции для работы с процессами и файлами.
2021.02.04:
при запуске Windows. Особенности режима. (вводная для тех, кто не знает что это).
2021.02.20:
2021.02.26: Обновление
до версии 0.12. Добавлена команда move и исправлена пара багов. Также выложена старая статья про
2021.04.15:
с использованием Native API.
2021.04.16:
с помощью Native API и Как открыть устройство с помощью ZwCreateFile.
https://www.youtube.com/watch?v=vGZiqDjz-UA
2021.04.03:
. Китайский программист портировал из ReactOS шелл cmd.exe. Получилась командная строка для native-режима Windows, обладающая более широкими возможностями, чем мой Native Shell.
2021.04.28:
в Native Shell, добавленные китайскими программистами.
Is there a better windows command-line shell?
Others have mentioned Powershell and 4NT already, both are much better solutions than CMD
and all its arcane syntax, lack of documentation and often-surprising inability to do almost any task you might want to use it for 🙂
4NT is now part of Take Command
GUI file-management suite, but the owners have made just the shell part available on its own, it’s called TCC/LE now and is also now free! For most people I’d say to use this – it’s the easiest learning curve by being having a mostly compatible syntax to CMD
, having lots of resources online and being capable of doing say 80% of file system tasks perfectly.
TCC/LE download
For people with more obscure needs, doing lots of administration, or want more flexibility, try Powershell – it’s a steep initial learning curve, but it’s internally very consistent and once you’ve figured out the basics you can access and operate on 99.9% of everything Windows handles using the same set of tools and methods, even executing it across a network on other machines. Even learning the basics (sort, select, % and ?) is better than CMD
already…
PowerShell Owner’s Manual
PowerShell Examples
If you’re more technically inclined then I’d consider IPython – at the core it’s a console for writing and executing Python code, but it also acts as a shell (and task management system) very handily – it has bookmarks, aliases, tab completion of code/files, can mix code and shell commands e.g. files=!dir *.txt
saves the output of dir *.txt
, configurable logging of input and/or outputs, can repeat blocks of past commands, export them or create macros, and has extensions which can customise it more.
IPython as a shell
Definitely not for the faint of heart, but a very powerful environment if you know Python!
Как запустить скрипт powershell?
Есть несколько различных способов запуска скрипта, ниже приведены основные:
- Запустить оболочку PowerShell и в ней запустить скрипт (ввести путь до файла и имя файла, например, так: C:Scriptstest.ps1, или перейти в папку скрипта командой cd C:Scripts и запустить его командой .test.ps1)Оболочку можно найти и запустить множеством способов. Один из способов – через меню “Пуск”. Для Windows 7 – нужно зайти во “Все программы” – “Стандартные” – “Windows PowerShell” и запустить оболочку “Windows PowerShell”. Для Windows 10 – нужно найти группу на букву “W” и в ней вы найдете “Windows PowerShell”.
- Запустить “Интегрированную среду сценариев Windows PowerShell ISE” – это программа – среда разработки, позволяющая редактировать и отлаживать скрипты PowerShell, которая так же есть по-умолчанию вместе с самим PowerShell. Запустив ее, нужно просто нажать кнопку “Открыть” или зайти в меню Файл – Открыть и выбрать нужный скрипт, затем нажать F5 или кнопку “Выполнить скрипт”.Найти Windows PowerShell ISE можно там же, где и оболочку PowerShell – в меню “Пуск”.
- Запустить стандартную коммандную строку и в ней написать:
powershell -file <имя_скрипта> (пример: powershell -file myscript.ps1)
Если вы раньше не запускали скрипты PowerShell, то скорее всего, вы получите сообщение: Не удается загрузить файл <имя_скрипта>, так как выполнение скриптов запрещено для данной системы. Введите «get-help about_signing» для получения дополнительных сведений. Связано это с тем, что из соображений безопасности и недопущения случайного выполнения вредоносного кода, все скрипты должны быть подписаны цифровой подписью.
Настройка
Вы можете указывать параметры запуска Вашего терминала. Положим, хотите всегда запускать консольный эмулятор cmder только из директории E:SashaSublime.
Для упрощения работы с настройками Sublime Text скачиваем плагин Preferences Editor. Ctrl Shift P → Edit Preferences: Edit Settings… → Terminal → terminal → в открывшуюся quick panel вставляете путь к исполняемому файлу cmder.exe вместе с именем файла, например, E:
ChocolateytoolscmderCmder.exe → Enter. Далее Ctrl Shift P → Edit Preferences: Edit Settings… → Terminal → parameters → между квадратными скобками вставляем “/START”, “E:\SashaSublime” → Enter.
Теперь после запуска любой из команд — open_terminal либо open_terminal_project_folder должен открыться Cmder.exe в папке E:SashaSublime.
Также предусмотрена возможность одним шорткатом запускать один терминал со своими параметрами, вторым хоткеем запускать другой терминал с другими параметрами и т. д. Читаем здесь.
How to run .sh on windows command prompt?
The error message indicates that you have not installed bash
, or it is not in your PATH
.
The top Google hit is http://win-bash.sourceforge.net/ but you also need to understand that most Bash scripts expect a Unix-like environment; so just installing Bash is probably unlikely to allow you to run a script you found on the net, unless it was specifically designed for this particular usage scenario. The usual solution to that is https://www.cygwin.com/ but there are many possible alternatives, depending on what exactly it is that you want to accomplish.
If Windows is not central to your usage scenario, installing a free OS (perhaps virtualized) might be the simplest way forward.
The second error message is due to the fact that Windows nominally accepts forward slash as a directory separator, but in this context, it is being interpreted as a switch separator. In other words, Windows parses your command line as app /build /build.sh
(or, to paraphrase with Unix option conventions, app --build --build.sh
). You could try appbuildbuild.sh
but it is unlikely to work, because of the circumstances outlined above.
Как разрешить выполнение неподписанного скрипта powershell?
1. В оболочке PowerShell, перед тем как запускать скрипт, выполнить команду, разрешающую выполнение неподписанных скриптов для текущего сеанса оболочки:
Set-ExecutionPolicy RemoteSigned -Scope Process
2. При запуске из стандартной коммандной строки использовать параметр -executionpolicy, т.е. запускать скрипт так:
powershell -executionpolicy RemoteSigned -file <имя_скрипта>
Оба способа устанавливают политику только для текущего сеанса, при этом, политика безопасности выполнения скриптов PowerShell, прописанная в реестре, не будет изменена и останется прежней. Если вы хотите поменять политику безопасности выполнения скриптов “на постоянно”, то используйте такой способ:
3. Разрешить запуск навсегда: запустить оболочку PowerShell от имени “Администратора”, затем выполните команду:
Set-ExecutionPolicy RemoteSigned
Однако, я бы не рекомендовал такой способ, чтобы не подвергать ваш компьютер возможным угрозам, т.к. так вы разрешаете выполнение скриптов всем и всегда.
Примечание: Если скрипт был загружен из интернета, то чтобы избежать запроса на подтверждение запуска, нужно вместо RemoteSigned использовать Bypass – полное отключение любых запросов и предупреждений.
Описание
Кроссплатформенный плагин, позволяющий открывать из Sublime Text любой терминал, который лично Вы считаете наиболее предпочтительным. В Windows по умолчанию запускается PowerShell. После установки плагина доступны 3 варианта запуска:
Вызываются две команды:
open_terminal
— открывает терминал в папке, где лежит файл, вкладка с которым была открыта, когда запускали терминал.open_terminal_project_folder
— возможно, работает некорректно. Актуальное поведение:- Если Вы запустили команду, из файла, который находится в верхней папке Вашего сайдбара или её подпапках, терминал запустится в этой верхней папке. Например, мой сайдбар:
Когда я запускаюopen_terminal_project_folder
, например, из файлаE:КиролайнаSashaFolderSashaFile.txt
, терминал откроется вE:Киролайна
. - Но когда Вы запускаете команду из файла, не имеющего отношения к верхней папке Вашего сайдбара — в моём случае
E:Киролайна
, — поведение командыopen_terminal_project_folder
аналогично поведениюopen_terminal
.
- Если Вы запустили команду, из файла, который находится в верхней папке Вашего сайдбара или её подпапках, терминал запустится в этой верхней папке. Например, мой сайдбар:
1] выполнить файл скрипта оболочки, используя wsl
Установите WSL или Windows Subsystem для Linux
Перейдите в Настройки> Обновление и безопасность> Для разработчиков.
Проверьте переключатель режима разработчика.
Поищите «Функции Windows», выберите «Включить или отключить функции Windows».
Прокрутите, чтобы найти WSL, установите флажок и установите его.
После этого необходимо перезагрузить компьютер, чтобы завершить установку запрошенных изменений.
Нажмите Перезагрузить сейчас.
BASH отныне будет доступен в командной строке и PowerShell.
Выполнить файлы скриптов оболочки
- Откройте командную строку и перейдите в папку, где доступен файл скрипта
- Введите Bash script-filename.sh и нажмите клавишу Enter.
- Система выполнит скрипт, и в зависимости от файла вы должны увидеть вывод.
На платформе Linux вы обычно используете SH, но здесь вам нужно использовать BASH.
Тем не менее, BASH в Windows имеет свои ограничения, поэтому, если вы хотите выполнить их в среде Linux, вам нужно установить Ubuntu или что-то подобное.
Открытие или передача фокуса
Открытие папки (каталога) в проводнике Windows для просмотра или передача папке фокуса, если она уже открыта, с помощью функции Shell и ключевого слова cmd:
При реализации этого способа происходит кратковременное отображение на экране окна командной строки (cmd.exe). Если убрать параметр vbNormalFocus, окно командной строки мелькать не будет, но и окно проводника, при повторном его вызове, не получит фокус.
Преимущество способа: если открываемая папка уже открыта, ей передается фокус, а второй экземпляр этой папки не открывается.
Недостаток способа: имя папки не должно содержать пробелы.
От недостатка этого способа можно избавиться с помощью экранирующих кавычек:
Для себя на заметку, какие кавычки что экранируют:
Смотрите как открывать из кода VBA Excel файлы других приложений и интернет-сайты.
Для запуска отдельных команд
Для Sublime Text пишут плагины, облегчающие запуск только отдельных команд только для определённых инструментов программирования. Например, команды Git проще запускать с помощью плагинов Git, SideBar Git и Easygit (Не загружайте Easygit через Package Control, он не будет работать!
[how to run code by using cmd from sublime text 3 ]
Sublime text default build system for python is “Python”, which uses the “python” alias.
So if you’d like to use python3 for instance, you have to create a new build system.
Go to Tools > Build system > New build system…
There you have a command to specify, use the binary you’d like to be used by sublimeText, like so :
{
"cmd": ["python3.7", "-u", "$file"]
}
Save the file to python[X].sublime-build
, [X] being the version you’d like to use.
Now in your source file, specify the build system to that version of python.
To test that sublime text is using the interpreter you chose, you can use this code :
import sys
print(sys.version_info)
Check this for more informations : https://www.sublimetext.com/docs/3/build_systems.html
Как запустить скрипт powershell с помощью ярлыка?
Осуществить такую задачу можно двумя способами:
- Создать bat/cmd файл, в котором прописать команду для запуска скрипта (с параметрами вы ознакомились выше)
- Создать ярлык на PowerShell, который можно найти в папке c:WindowsSystem32WindowsPowerShellv<версия> и в свойствах ярлыка в поле “Объект” дописать необходимые параметры.
Таким образом, например, чтобы запустить скрипт powershell при входе пользователя, можно просто создать ярлык, как описано во 2-м пункте и поместить его в автозагрузку. Так же, создание ярлыка одним из способов выше позволит легко запустить скрипт от имени администратора или от имени любого другого пользователя как обычную программу.
Скриптовый язык PowerShell – довольно мощный инструмент для решения различных задач, но его можно использовать не только для хороших вещей, но и во вред, поэтому, пользуйтесь им с умом 😉
Build system в sublime. выполнеиние команд cmd
Доброго времени суток.
Использую связку из Саблайм gcc для работы с С. Для этого был создан саблайм-билд:
{
"cmd": ["gcc", "*.c", "-o", "build.exe", "&&", "start", "cmd", "/k", "build.exe"],
"selector": "source.c",
"working_dir": "${file_path}",
"shell": true }
Все работает, консоль открывает готовый файл, но теперь появилась надобность работы с поддержкой юникод. Если оставить
"cmd": ["gcc", "*.c", "-o", "build.exe", "&&", "start", "cmd", "/k", "chcp 65001"],
то цмд ставит нужную кодировку и в остается в папке с готовым файлом. Никакие операнды и виды записи не помогают/
"cmd", "/k", "chcp 65001", "&&", "build.exe"
Есть ли возможность запустить так несколько команд?
Спасибо.
Sublime text and multiple selection with cmd d
OS X, Sublime Text 3
I can double click a word and use CMD D
to select the next instance of the word.
However if I want to replace this 30 times I need to CMD D
30 times.
Is there a way to have it select all that it finds?
OpeningScene* OpeningScene::pinstance = 0;
OpeningScene* OpeningScene::Instance()
{
if (pinstance == 0)
{
pinstance = new OpeningScene;
pinstance->initInstance();
}
return pinstance;
}
OpeningScene::OpeningScene() { }
In the above, replacing OpeningScene
I’d need to CMD D
6 times after double clicking the first instance.
I guess I could do a Find/Replace using the dialog but is there a keyboard way of doing this?
Установка и настройка
Устанавливаем плагин Suricate → в файл Default.suricate-profile добавляем следующий код:
// Запустить Git Bash
"git-bash": {
"call": "Suricate.lib.process.spawn",
"args.windows": {
"cmd": ["C:\Program Files\Git\git-bash.exe"],
"working_dir": "${file_path}"
},
"caption": "Git Bash",
"keys": ["<c> super keypad3"],
},
Ctrl Shift P → Suricate: Git Bash → должен открыться Git Bash в директории с тем файлом, который был у Вас открыт, когда запускали Git Bash из Sublime Text.
Send to Shell
В Sublime Text существуют плагины, отправляющие во внешний терминал выделенный или скопированный текст, как SendText и SendREPL. Тот же принцип действия у плагина Send to Shell, отправляющего скопированный текст в IPython — интерактивную оболочку для Python, составляющую Jupyter.
Терминология
В данном обзоре встроенная консоль Windows называется «консолью» или «внешней консолью» в зависимости от контекста. Согласно автору программы ConEmu называть её cmd.exeне совсем корректно:
В Windows есть встроенный терминал (или “консольное окно”) которое часто ошибочно называют “cmd.exe”. Нажмите Win R и запустите, например, “powershell.exe”. Среди запущенных процессов не будет “cmd.exe”. В разных версиях Windows консольное окно создают разные процессы, в актуальных – это “conhost.exe”.
Не ‘cmd.exe’, а просто ‘консоль’!
Установка и настройка
Помимо самого SublimeREPL устанавливаем также плагины Suricate и PowerShell для настройки команды SublimeREPL и подсветки синтаксиса соответственно.
Инструкция по настройке команд в Suricate.
Ctrl Shift P → SublimeREPL: PowerShell → если у Вас русская версия операционной системы, может вылезти всплывающее окно с примерно следующей ошибкой:
Открытие папки в проводнике
Открытие папки (каталога) в проводнике Windows для просмотра с помощью функции Shell и ключевого слова explorer:
vbNormalFocus означает, что окно Windows Explorer получает фокус и восстанавливает свое исходное положение и размер.
Преимущество способа: имя папки может содержать пробелы.
Недостаток способа: если открываемая папка уже открыта, открывается второй экземпляр, затем третий и т.д.
То же преимущество и тот же недостаток у следующего способа:
Как запустить скрипт powershell в фоновом режиме?
Для этого достаточно использовать параметр запуска -WindowStyle, который может принимать значения: Normal, Minimized, Maximized и Hidden. Таким образом, чтобы запустить неподписанный скрипт в фоновом режиме, нужно выполнить команду:
powershell -executionpolicy RemoteSigned -WindowStyle Hidden -file <имя_скрипта>
Так же можно еще при желании добавить -NonInteractive, чтобы скрипт не задавал никаких вопросов. Таким образом, скрипт выполнится незаметно для пользователя. Будmте внимательны, используя такой способ.
Переход по файлам
Win/Linux: CTRL P Mac: CMD P
Большинству разработчиков приходится помногу раз переключаться между различными файлами. HTML и CSS или PHP и JavaScript… Данные шорткаты упрощает эти действия. Также переключаться по вкладкам можно с помощью ”
CMD ALT Left/Right Arrow
” и ”
CTRL Pagedown/Pageup
” для OSX и Windows соответственно.
Протестировано на
Вообще в Sublime Text по моему вероятностному суждению примерно треть плагинов совсем не работают после установки. Но расписанные в обзоре лично у меня функционируют, что доказывается скринкастами.
По причине того, что использую Windows, не рассмотрены такие решения, как Tint и fish-shell. Если не упомянул что-то ещё, можете добавить.
Закладки
Win/Linux: CTRL F2Mac: CMD F2
В процессе написания кода приходится «экспериментировать», изменять некоторые данные и целые строки для получения нужного результата. Запоминать номера строк, где произошли изменения достаточно трудно. Но в саблайме есть закладки, которые добавляются данными шорткатами. А переключаемся между ними c помощью “
F2
” или ”
Shift F2
Выделение текущего слова
Win/Linux: CTRL DMac: CMD D
Очень удобно выделять слова с помощью двойного нажатия левой кнопки мыши. Но еще удобнее и быстрее это делать на клавиатуре, без помощи тачпада или мыши. А при сочетании ”
CMD L
” или ”
CTRL L
” выделяется текущая строка.
Разделение экрана
ГоризонтальноWin/Linux: ALT Shift 2/3/4/5Mac: CMD ALT 2/3/4/5
ВертикальноWin/Linux: ALT Shift 5/8/9Mac: CMD ALT Shift 1/2/3Вместо того чтобы постоянно переключаться между файлами, Sublime дает возможноcть разделять рабочую область вертикально или горизонтально на несколько частей. Очень юзабельно. А используя Num1 в приведенных выше сочетаниях, возвращаем единый экран.
Выполните команду в командной строке с помощью excel vba
У меня есть фиксированная команда, которую мне нужно передать в командную строку с помощью VBA, а затем команда должна выполняться.
например, “Перл есть.c:temp ФЛ”
ниже приведена команда, которую я пытаюсь использовать, но она просто открывает командную строку и не запускает команду.
Call Shell("cmd.exe -s:" & "perl a.pl c:temp", vbNormalFocus)
пожалуйста, проверьте.
ConEmu
Для лучшей, по мнению пользователей англоязычного Stack Overflow, консоли для Windows есть свой плагин. См. также плагин для Cmder — немного изменённого ConEmu.
Настройка
Задаём системную переменную PATH, указав в качестве значения путь к файлу ConEmu.exe, для меня это C:Program FilesConEmu.
Запускаем ConEmu → Super Alt P → Startup → задаём параметру Specifed named task значение {Shells::PowerShell}:
Слияние и перестановка строк
Win/Linux: CTRL Shift Up/DownMac: CMD CTRL Up/Down
Перестанавливать строки местами требуются редко, но этот способ очень удобен. А шорткаты ”
CMD J
” или ”
CTRL J
” объединяют строки.
Как запустить файл .sh или скрипт шелла в windows 10
Bash – это оболочка и командный язык Unix, который может запускать файлы скрипты .sh.
Вам не нужно устанавливать Ubuntu или любые другие дистрибутивы Linux, если ваши скрипты не нуждаются в поддержке реального ядра Linux.
Мы поделимся обоими методами.
- Выполнить файл скрипт оболочки, используя WSL
- Выполнить скрипт оболочки с помощью Ubuntu в Windows 10
Объединенный курсор
Win/Linux: CTRL ALT Up/DownMac: СTRL Shift Up/Down
Честно говоря, я мне не доводилось пользоваться данной функцией, но я уверен, что в «объединенном курсоре» большой потенциал и многие найдут применение для этой фичи. Курсор распределяется на множество строк и появляется возможность их одновременного редактирования.
Запуск скрипта powershell c параметрами
Собственно запуск нужно делать как если бы вы запускали обычную программу или bat-файл с параметрами. Например, для запуска скрипта с параметрами из командной, можно написать такую команду:
powershell -executionpolicy RemoteSigned -file <имя_скрипта> param1 param2 “еще один текстовый параметр”
В самом скрипте вы можете получить эти параметры так:
Мгновенный поиск и замена
Win/Linux: ALT F3Mac: CMD CTRL G
Благодаря этому лайфхаку забываем про поиск и замену (find what, raplace with, replace next/all). Выбрав определенный текст и нажав на необходимые клавиши, Sublime находит все совпадения и создает «объединенный курсор» на все строки, где есть совпадения.
Переход по фрагментам
Win/Linux: CTRL RMac: CMD R
Вероятно, самое полезное сочетание клавиш для экономии вашего времени. Содержимое документа разбивается на определенные фрагменты (функции, HTML теги или CSS стили). Переход происходит при выборе соответствующего фрагмента во всплывающем окне.
Описание
Плагин выводит результаты Build System во внешнюю консоль, а не встроенную Sublime Text. Это может понадобиться по ряду причин.
Рекомендуемый способ
Репозиторий Chocolatey содержит постоянно обновляющуюся базу из более чем 5800 бесплатных и условно-бесплатных приложений.
Устанавливаем модуль Chocolatey. Он имеет свой синтаксис, зато приложения можно будет устанавливать, не только из повершела, но и из командной строки. Это делается всего одной командой:
Npm
Плагин, благодаря которому можно запускать многие команды npm — пакетного менеджера Node.js.
Поиск плагинов
Если описанные в обзоре плагины не удовлетворяют Вашим задачам, помимо обычного поиска в Google порекомендовал бы осуществить поиск примерно по следующим ключевым словам и меткам на сайте Package Control:
Rvm command, ~/.bashrc, ~/.bash_profile, ~/.zshrc…
You can load RVM and profile files with login mode:
Or… You can load a custom sh file:
my-config-loader-file.sh: Loading ~/.bashrc simulating interactive shell:
my-config-loader-file.sh: Loading RVM command:
Достоинства
- Не нужно выходить из Sublime Text, чтобы запускать команды,
- Достаточно многофункциональный плагин,
- Удобнее осуществлять навигацию по output, если тот большой, во вкладке, нежели в консоли.
2] выполнить скрипт оболочки, используя ubuntu в windows 10
Убедитесь, что у вас установлена Ubuntu или любой другой дистрибутив Linux.
Ubuntu смонтирует или сделает все ваши каталоги Windows доступными в /mnt.
Таким образом, диск C доступен по адресу /mnt/C.
SublimeREPL
Позволяет запускать REPL консоль для многих языков программирования во вкладке Sublime Text. В примере этого ответа написано, как настроить SublimeREPL для PowerShell.
Terminality
В примере показан вывод для Python, но можно использовать как консоль и для других языков программирования, включая отсутствующие по умолчанию в плагине.
Custom shortcuts
shell_exec_open: Open Shell Exec box to input some command.
shell_exec_run: Runs a predefined command.
SublimePTY
Страница плагина. Разработка давно прекращена.
Default shortcuts
- Linux: ctrl shift c
- Mac: shift super c
- Windows: ctrl shift c
Запуск из Sublime Text внешних терминалов
Достоинства и недостатки относятся уже к вызываемым в Sublime Text терминалам, а не самому Sublime Text.
Установка
Как настроить плагин для отправки скопированного текста на ConEmu в режиме PowerShell.
Общая оценка
Все решения хорошие, пользуюсь ими, но полностью внешние терминалы они не заменяют.
Оценка
Пользуюсь часто, но иногда вынужден прибегать к другим терминалам.
Запуск любого предпочтительного терминала
Для примера возьмём, как запустить Git Bash из Sublime Text.
Command palette
Shell Exec: Open shell_exec_open
Параметры и их значения
Как выглядит конфигурационный файл Suricate:
Закрываем текущий html тег
Win/Linux: ALT ./Linux: CMD ALT .
Command format syntax
Available variables:
Выделение строки
Mac: CMD L