-->

Руководства по командной строке

Command Line for Beginners – How to Use the Terminal Like a Pro [Full Handbook]

Hi everyone! In this article we’ll take a good look at the command line (also known as the CLI, console, terminal or shell).

The command line is one of the most useful and efficient tools we have as developers and as computer users in general. But using it can feel a bit overwhelming and complex when you’re starting out.

In this article I’ll try my best to simply explain the parts that make up the command line interface, and the basics of how it works, so you can start using it for your daily tasks.

Let’s go! =D

Table of Contents

  • Difference between console, terminal, command line (CLI) and Shell
    • Console
    • Terminal
    • Shell
    • Command line (CLI)
  • Why should I even care about using the terminal?
  • Different kinds of shells
    • A bit of history — Posix
    • How do I know what shell I’m running?
    • What shell is better?
      • A comment about customization
  • Most common and useful commands to use
    • Git commands
  • Our first script
  • Round up

Difference between console, command line (CLI), terminal and Shell

I think a good place to start is to know exactly what the command line is.

When referring to this, you may have heard the terms Terminal, console, command line, CLI, and shell. People often use these words interchangeably but the truth is they’re actually different things.

Differentiating each isn’t necesarilly crucial knwoledge to have, but it will help clarify things. So lets briefly explain each one.

Console:

The console is the physical device that allows you to interact with the computer.

In plain English, it’s your computer screen, keyboard, and mouse. As a user, you interact with your computer through your console.

image_13b2c80d-a2d6-4429-8ca6-f053340897cc

A terminal is a text input and output environment. It is a program that acts as a wrapper and allows us to enter commands that the computer processes.

In plain English again, it’s the «window» in which you enter the actual commands your computer will process.

terminal

Keep in mind the terminal is a program, just like any other. And like any program, you can install it and uninstall it as you please. It’s also possible to have many terminals installed in your computer and run whichever you want whenever you want.

All operating systems come with a default terminal installed, but there are many options out there to choose from, each with its own functionalities and features.

Shell:

A shell is a program that acts as command-line interpreter. It processes commands and outputs the results. It interprets and processes the commands entered by the user.

Same as the terminal, the shell is a program that comes by default in all operating systems, but can also be installed and uninstalled by the user.

Different shells come with different syntax and characteristics as well. It’s also possible to have many shells installed at your computer and run each one whenever you want.

In most Linux and Mac operating systems the default shell is Bash. While on Windows it’s Powershell. Some other common examples of shells are Zsh and Fish.

Shells work also as programming languages, in the sense that with them we can build scripts to make our computer execute a certain task. Scripts are nothing more than a series of instructions (commands) that we can save on a file and later on execute whenever we want.

We’ll take a look at scripts later on in this article. For now just keep in mind that the shell is the program your computer uses to «understand» and execute your commands, and that you can also use it to program tasks.

Also keep in mind that the terminal is the program in which the shell will run. But both programs are independent. That means, I can have any shell run on any terminal. There’s no dependance between both programs in that sense.

Command line or CLI (command line interface):

The CLI is the interface in which we enter commands for the computer to process. In plain English once again, it’s the space in which you enter the commands the computer will process.

cli

This is practically the same as the terminal and in my opinion these terms can be used interchangeably.

One interesting thing to mention here is that most operating systems have two different types of interfaces:

  • The CLI, which takes commands as inputs in order for the computer to execute tasks.
  • The other is the GUI (graphical user interface), in which the user can see things on the screen and click on them and the computer will respond to those events by executing the corresponding task.

Why should I even care about using the terminal?

We just mentioned that most operating systems come with a GUI. So if we can see things on the screen and click around to do whatever we want, you might wonder why you should learn this complicated terminal/cli/shell thing?

The first reason is that for many tasks, it’s just more efficient. We’ll see some examples in a second, but there are many tasks where a GUI would require many clicks around different windows. But on the CLI these tasks can be executed with a single command.

In this sense, being comfortable with the command line will help you save time and be able to execute your tasks quicker.

The second reason is that by using commands you can easily automate tasks. As previously mentioned, we can build scripts with our shell and later on execute those scripts whenever we want. This is incredibly useful when dealing with repetitive tasks that we don’t want to do over and over again.

Just to give some examples, we could build a script that creates a new online repo for us, or that creates a certain infrastructure on a cloud provider for us, or that executes a simpler task like changing our screen wallpaper every hour.

Scripting is a great way to save up time with repetitive tasks.

The third reason is that sometimes the CLI will be the only way in which we’ll be able to interact with a computer. Take, for example, the case when you would need to interact with a cloud platform server. In most of these cases, you won’t have a GUI available, just a CLI to run commands in.

So being comfortable with the CLI will allow you to interact with computers on all ocassions.

The last reason is it looks cool and it’s fun. You don’t see movie hackers clicking around their computers, right? ;)

Different kinds of shells

Before diving into the actual commands you can run in your terminal, I think it’s important to recognize the different types of shells out there and how to identify which shell you’re currently running.

Different shells come with different syntax and different features, so to know exactly what command to enter, you first need to know what shell you’re running.

A bit of history – Posix

For shells, there’s a common standard called Posix.

Posix works for shells in a very similar way that ECMAScript works for JavaScript. It’s a standard that dictates certain characteristics and features that all shells should comply with.

This standard was stablished in the 1980’s and most current shells were developed according to that standard. That’s why most shells share similar syntax and similar features.

How do I know what shell I’m running?

To know what shell you’re currently running, just open your terminal and enter echo $0. This will print the current running program name, which in this case is the actual shell.

screenshot-1

What shell is better?

There’s not A LOT of difference between most shells. Since most of them comply with the same standard, you’ll find that most of them work similarly.

There are some slight differences you might want to know, though:

  • As mentioned, Bash is the most widely used and comes installed by default on Mac and Linux.
  • Zsh is very similar to Bash, but it was created after it and comes with some nice improvements over it. If you’d like to have more detail about its differences, here’s a cool article about it.
  • Fish is another commonly used shell that comes with some nice built-in features and configurations such as autocompletion and syntax highlighting. The thing about Fish is that it’s not Posix complaint, while Bash and Zsh are. This means that some of the commands you’ll be able to run on Bash and Zsh won’t run on Fish and viceversa. This makes Fish scripting less compatible with most computers compared to Bash and Zsh.
  • There are also other shells like Ash or Dash (the naming just makes everything more confusing, I know…) that are stripped-down versions of Posix shells. This means they only offer the features required in Posix, and nothing else. While Bash and Zsh add more features than what Posix requires.

The fact that shells add more features makes them easier and friendlier to interact with, but slower to execute scripts and commands.

So a common practice is to use this «enhanced» shells like Bash or Zsh for general interaction, and a «stripped» shell like Ash or Dash to execute scripts.

When we get to scripting later on, we’ll see how we can define what shell will execute a given script.

If you’re interested in a more detailed comparison between these shells, here’s a video that explains it really well:

If had to recommend a shell, I would recommend bash as it’s the most standard and commonly-used one. This means you’ll be able to translate your knowledge into most environments.

But again, truth is there’s not A LOT of difference between most shells. So in any case you can try a few and see which one you like best. ;)

I just mentioned that Fish comes with built-in configuration such as autocompletion and syntax highlighting. This come built-in in Fish, but in Bash or Zsh you can configure these features, too.

The point is that shells are customizable. You can edit how the program works, what commands you have available, what information your prompt shows, and more.

We won’t see customization options in detail here, but know that when you install a shell in your computer, certain files will be created on your system. Later on you can edit those files to customize your program.

Also, there are many plugins available online that allow you to customize your shell in an easier way. You just install them and get the features that plugin offers. Some examples are OhMyZsh and Starship.

These customization options are also true for Terminals.

So not only do you have many shell and terminal options to choose from – you also have many configuration options for each shell and terminal.

If you’re starting out, all this information can feel a bit overwhelming. But just know that there are many options available, and each option can be customized too. That’s it.

Most common and useful commands to use

Now that we have a foundation of how the CLI works, let’s dive into the most useful commands you can start to use for your daily tasks.

Keep in mind that these examples will be based on my current configuration (Bash on a Linux OS). But most commands should apply to most configurations anyway.

  • Echo prints in the terminal whatever parameter we pass it.
echo Hello freeCodeCamp! // Output: Hello freeCodeCamp!
  • pwd stands for print working directory and it prints the «place» or directory we are currently at in the computer.
pwd // Output: /home/German
  • ls presents you the contents of the directory you’re currently in. It will present you with both the files and other directories your current directory contains.

For example, here I’m on a React project directory I’ve been working on lately:

ls // Output:
node_modules  package.json  package-lock.json  public  README.md  src

If you pass this command the flag or paremter -a It will also show you hidden files or directories. Like .git or .gitignore files

ls -a // Output:
.   .env  .gitignore    package.json       public     src
..  .git  node_modules  package-lock.json  README.md
  • cd is short for Change directory and it will take you from your current directory to another.

While on my home directory, I can enter cd Desktop and it will take me to the Desktop Directory.

If I want to go up one directory, meaning go to the directory that contains the current directory, I can enter cd ..

If you enter cd alone, it will take you straight to your home directory.

  • mkdir stands for make directory and it will create a new directory for you. You have to pass the command the directory name parameter.

If I wanted to create a new directory called «Test» I would enter mkdir test.

  • rmdir stands for Remove directory and it does just that. It needs the directory name parameter just as mkdir: rmdir test.

  • touch allows you to create an empty file in your current directory. As parameters it takes the file name, like touch test.txt.

  • rm allows you to delete files, in the same way rmdir allows you to remove directories.
    rm test.txt

  • cp allows you to copy files or directories. This command takes two parameters: the first one is the file or directory you want to copy, and the second one is the destination of your copy (where do you want to copy your file/directory to).

If I want to make a copy of my txt file in the same directory, I can enter the following:

cp test.txt testCopy.txt

See that the directory doesn’t change, as for «destination» I enter the new name of the file.

If I wanted to copy the file into a diferent directory, but keep the same file name, I can enter this:

cp test.txt ./testFolder/

And if I wanted to copy to a different folder changing the field name, of course I can enter this:

cp test.txt ./testFolder/testCopy.txt
  • mv is short for move, and lets us move a file or directory from one place to another. That is, create it in a new directory and delete it in the previous one (same as you could do by cutting and pasting).

Again, this command takes two paremers, the file or directory we want to move and the destination.

mv test.txt ./testFolder/

We can change the name of the file too in the same command if we want to:

mv test.txt ./testFolder/testCopy.txt
  • head allows you to view the beginning of a file or piped data directly from the terminal.
head test.txt // Output:
this is the beginning of my test file
  • tail works the same but it will show you the end of the file.
tail test.txt // Output:

this is the end of my test file
  • The —help flag can be used on most commands and it will return info on how to use that given command.
cd --help // output:
cd: cd [-L|[-P [-e]] [-@]] [dir]
Change the shell working directory.

Change the current directory to DIR. The default DIR is the value of the HOME shell variable.

The variable CDPATH defines the search path for the directory containing DIR. Alternative directory names in CDPATH are separated by a colon :.

A null directory name is the same as the current directory if DIR begins with ....

  • In a similar way, the man command will return info about any particular command.
    man cp // output:

    CP(1)                            User Commands                           CP(1)

    NAME
           cp - copy files and directories

    SYNOPSIS
           cp [OPTION]... [-T] SOURCE DEST
           cp [OPTION]... SOURCE... DIRECTORY
           cp [OPTION]... -t DIRECTORY SOURCE...

    DESCRIPTION
           Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

           Mandatory  arguments  to  long  options are mandatory for short options
           too.

           -a, --archive
                  same as -dR --preserve=all

           --attributes-only
                  don't copy the file data, just the attributes
    ...

You can even enter man bash and that will return a huge manual about everything there’s to know about this shell. ;)

  • code will open your default code editor. If you enter the command alone, it just opens the editor with the latest file/directory you opened.

You can also open a given file by passing it as parameter: code test.txt.

Or open a new file by passing the new file name: code thisIsAJsFile.js.

  • edit will open text files on your default command line text editor (which if you’re on Mac or Linux will likely be either Nano or Vim).

If you open your file and then can’t exit your editor, first look at this meme:

![vimExit](https://www.freecodecamp.org/news/content/images/2022/03/vimExit.png)

And then type :q! and hit enter.

The meme is funny because everyone struggles with CLI text editors at first, as most actions (like exiting the editor) are done with keyboard shortcuts. Using these editors is a whole other topic, so go look for tutorials if you’re interested in learning more. ;)

  • ctrl+c allows you to exit the current process the terminal is running. For example, if you’re creating a react app with npx create-react-app and want to cancel the build at some point, just hit ctrl+c and it will stop.

  • Copying text from the terminal can be done with ctrl+shift+c and pasting can be done with ctrl+shift+v

  • clear will clear your terminal from all previous content.

  • exit will close your terminal and (this is not a command but it’s cool too) ctrl+alt+t will open a new terminal for you.

  • By pressing up and down keys you can navigate through the previous commands you entered.

  • By hitting tab you will get autocompletion based on the text you’ve written so far. By hitting tab twice you’ll get suggestions based on the text you’ve written so far.

For example if I write edit test and tab twice, I get testFolder/ test.txt. If I write edit test. and hit tab my text autocompletes to edit test.txt

Git commands

Besides working around the file system and installing/uninstalling things, interacting with Git and online repos is probably the most common things you’re going to use the terminal for as a developer.

It’s a whole lot more efficient to do it from the terminal than by clicking around, so let’s take a look at the most useful git commands out there.

  • git init will create a new local repository for you.
git init // output:
Initialized empty Git repository in /home/German/Desktop/testFolder/.git/
  • git add adds one or more files to staging. You can either detail a specific file to add to staging or add all changed files by typing git add .

  • git commit commits your changes to the repository. Commits must always be must be accompanied by the -m flag and commit message.

git commit -m 'This is a test commit' // output:
[master (root-commit) 6101dfe] This is a test commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test.js
  • git status tells you what branch are you currently on and whether you have changes to commit or not.
git status  // output:
On branch master
nothing to commit, working tree clean
  • git clone allows you to clone (copy) a repository into the directory you’re currently in. Keep in mind you can clone both remote repositories (in GitHub, GitLab, and so on) and local repositories (those that are stored in your computer).
git clone https://github.com/coccagerman/MazeGenerator.git // output:
Cloning into 'MazeGenerator'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 15 (delta 1), reused 11 (delta 0), pack-reused 0
Unpacking objects: 100% (15/15), done.
  • git remote add origin is used to detail the URL of the remote repository you’re going to use for your project. In case you’d like to change it at some point, you can do it by using the command git remote set-url origin.
git remote add origin https://github.com/coccagerman/testRepo.git

Keep in mind you need to create your remote repo first in order to get its URL. We’ll see how you can do this from the command line with a little script later on. ;)

  • git remote -v lets you list the current remote repository you’re using.
git remote -v // output:
origin	https://github.com/coccagerman/testRepo.git (fetch)
origin	https://github.com/coccagerman/testRepo.git (push)
  • git push uploads your commited changes to your remote repo.
git push // output:
Counting objects: 2, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 266 bytes | 266.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0)
  • git branch lists all the available branches on your repo and tells you what branch you’re currently on. If you want to create a new branch, you just have to add the new branch name as parameter like git branch <branch name>.
git branch // output:
* main
  • git checkout moves you from one branch to another. It takes your destination branch as paremeter.
git checkout newBranch // output:
Switched to branch 'newBranch'
  • git pull pulls (downloads) the code from your remote repository and combines it with your local repo. This is particularly useful when working in teams, when many developers are working on the same code base. In this case each developer periodically pulls from the remote repo in order to work in a code base that includes the changes done by all the other devs.

If there’s new code in your remote repo, the command will return the actual files that were modified in the pull. If not, we get Already up to date.

git pull // output:
Already up to date.
  • git diff allows you to view the differences between the branch you’re currently in and another.
git diff newBranch // output:
diff --git a/newFileInNewBranch.js b/newFileInNewBranch.js
deleted file mode 100644
index e69de29..0000000

As a side comment, when comparing differences between branches or repos, ussually visual tools like Meld are used. It’s not that you can’t visualize it directly in the terminal, but this tools are greate for a clearer visualization.

  • git merge merges (combines) the branch you’re currently in with another. Keep in mind the changes will be incorporated only to the branch you’re currently in, not to the other one.
git merge newBranch // output:
Updating f15cf51..3a3d62f
Fast-forward
 newFileInNewBranch.js | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 newFileInNewBranch.js
  • git log lists all previous commits you’ve done in the repo.
git log // output:
commit 3a3d62fe7cea7c09403c048e971a5172459d0948 (HEAD -> main, tag: TestTag, origin/main, newBranch)
Author: German Cocca <german.cocca@avature.net>
Date:   Fri Apr 1 18:48:20 2022 -0300

    Added new file

commit f15cf515dd3ec398210108dce092debf26ff9e12
Author: German Cocca <german.cocca@avature.net>
    ...
  • The —help flag will show you information about a given command, exactly the same way it works with bash.
git diff --help // output:
GIT-DIFF(1)                       Git Manual                       GIT-DIFF(1)

NAME
       git-diff - Show changes between commits, commit and working tree, etc

SYNOPSIS
       git diff [options] [<commit>] [--] [<path>...]
       git diff [options] --cached [<commit>] [--] [<path>...]
       ...

Our first script

Now we’re ready to get to the truly fun and awesome part of the command line, scripting!

As I mentioned previously, a script is nothing more than a series of commands or instructions that we can execute at any given time. To explain how we can code one, we’ll use a simple example that will allow us to create a github repo by running a single command. ;)

  • First thing to do is create a .sh file. You can put it wherever want. I called mine newGhRepo.sh.

  • Then open it on your text/code editor of choice.

  • On our first line, we’ll write the following: #! /bin/sh

This is called a shebang, and its function is to declare what shell is going to run this script.

Remember previously when we mentioned that we can use a given shell for general interaction and another given shell for executing a script? Well, the shebang is the instruction that dictates what shell runs the script.

As mentioned too, we’re using a «stripped down» shell (also known as sh shells) to run the scripts as they’re more efficient (though the difference might be unnoticeable to be honest, It’s just a personal preference). In my computer I have dash as my sh shell.

If we wanted this script to run with bash the shebang would be #! /bin/bash

  • Our next line will be repoName=$1

Here we’re declaring a variable called repoName, and assigning it to the value of the first parameter the script receives.

A parameter is a set of characters that is entered after the script/comand. Like with the cd command, we need to specify a directory parameter in order to change directory (ie: cd testFolder).

A way we can identify parameters within a script is by using dollar sign and the order in which that parameter is expected.

If I’m expecting more than one parameter I could write:

paramOne=$1
paramTwo=$2
paramThree=$3
...
  • So we’re expecting the repository name as parameter of our script. But what happens if the user forgets to enter it? We need to plan for that so next we’re going to code a conditional that keeps asking the user to enter the repo name until that parameter is received.

We can do that like this:

while [ -z "$repoName" ]
do
   echo 'Provide a repository name'
   read -r -p $'Repository name:' repoName
done

What we’re doing here is:

  1. While the repoName variable is not assigned (while [ -z "$repoName" ])
  2. Write to the console this message (echo 'Provide a repository name')
  3. Then read whatever input the user provides and assign the input to the repoName variable (read -r -p $'Repository name:' repoName)
  • Now that we have our repo name in place, we can create our local Git repo like this:
echo "# $repoName" >> README.md
git init
git add .
git commit -m "First commit"

This is creating a readme file and writting a single line with the repo name (echo "# $repoName" >> README.md) and then initializing the git repo and making a first commit.

  • Then it’s time to upload our repo to github. To do that we’re going to take advantage of the github API in the following command:

curl -u coccagerman https://api.github.com/user/repos -d '{"name": "'"$repoName"'", "private":false}'

curl is a command to transfer data from or to a server, using one of the many supported protocols.

Next we’re using the -u flag to declare the user we’re creating the repo for (-u coccagerman).

Next comes the endpoint provided by the GitHub API (https://api.github.com/user/repos)

And last we’re using the -d flag to pass parameters to this command. In this case we’re indicating the repository name (for which we’re using our repoName variable) and setting private option to false, since we want our repo to be puiblic.

Lots of other config options are available in the API, so check the docs for more info.

  • After running this command, GitHub will prompt us to enter our private token for authentication.

If you don’t have a private token yet, you can generate it in GitHub in Settings > Developer settings > Personal access tokens

screenshot

screenshot_1

screenshot_2

  • Cool, we’re almost done now! What we need now is the remote URL of our newly created GitHub repo.

To get that we’re going to use curl and the GitHub API again, like this:

GIT_URL=$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/coccagerman/"$repoName" | jq -r '.clone_url')

Here we’re declaring a variable called GIT_URL and assigning it to whatever the following command returns.

The -H flag sets the header of our request.

Then we pass the GitHub API endpoint, which should contain our user name and repo name (https://api.github.com/repos/coccagerman/"$repoName").

Then we’re piping the return value of our request. Piping just means passing the return value of a process as the input value of another process. We can do it with the | symbol like <process1> | <process2>.

And finally we run the jq command, which is a tool for processing JSON inputs. Here we tell it to get the value of .clone_url which is where our remote git URL will be according to the data format provided by the GitHub API.

  • And as last step, we rename our master branch to main, add the remote origin we just obtained, and push our code to GitHub! =D
git branch -M main
git remote add origin $GIT_URL
git push -u origin main

Our full script should look something like this:

#! /bin/sh
repoName=$1

while [ -z "$repoName" ]
do
    echo 'Provide a repository name'
    read -r -p $'Repository name:' repoName
done

echo "# $repoName" >> README.md
git init
git add .
git commit -m "First commit"

curl -u <yourUserName> https://api.github.com/user/repos -d '{"name": "'"$repoName"'", "private":false}'

GIT_URL=$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/<yourUserName>/"$repoName" | jq -r '.clone_url')

git branch -M main
git remote add origin $GIT_URL
git push -u origin main
  • Now it’s time to test our script! To execute it there’re two things we can do.

One option is to enter the shell name and pass the file as parameter, like: dash ../ger/code/projects/scripts/newGhRepo.sh.

And the other is to make the file executable by running chmod u+x ../ger/code/projects/scripts/newGhRepo.sh.

Then you can just execute the file directly by running ../ger/code/projects/scripts/newGhRepo.sh.

And that’s it! We have our script up and running. Everytime we need a new repo we can just execute this script from whatever directory we’re in.

But there’s something a bit annoying about this. We need to remember the exact route of the script directory. Wouldn’t it be cool to execute the script with a single command that it’s always the same independently of what directory we’re at?

In come bash aliases to solve our problem.

Aliases are a way bash provides for making names for exact commands we want to run.

To create a new alias, we need to edit the bash configuration files in our system. This files are normally located in the home directory. Aliases can be defined in different files (mainly .bashrc or .bash_aliases).

I have a .bash_aliases file on my system, so let’s edit that.

  • In our CLI we enter cd to go over home directory.

  • Then we can enter ls -a to list all files (includen hidden ones) and check if we have either a .bashrc or .bash_aliases file in our system.

  • We open the file with our text/code editor of choice.

  • And we write our new alias like this:
    alias newghrepo="dash /home/German/Desktop/ger/code/projects/scripts/newGhRepo.sh"

Here I’m declaring the alias name, the actual command I’m going to enter to run the script (newghrepo).

And between quotes, define what that alias is going to do ("dash /home/German/Desktop/ger/code/projects/scripts/newGhRepo.sh")

See that I’m passing the absolute path of the script, so that this command works the same no matter what my current directory is.

If you don’t know what the absolute path of your script is, go to the script directory on your terminal and enter readlink -f newGhRepo.sh. That should return the full path for you. ;)

  • After we’re done editing, we save our file, restart our terminal, and voilà! Now we can run our script by just entering newghrepo, no matter in what directory we currently are. Much quicker than opening the browser and clicking around to create our repo! =D

I hope this gives you a little taste of the kind of optimizations that are possible with scripting. It certainly requires a bit more work the first time you write, test, and set up the script. But after that, you’ll never have to perform that task manually again. ;)

Round up

The terminal can feel like an intimidating and intricate place when you’re starting out. But it’s certainly worth it to put time and effort into learning the ins and outs of it. The efficiency benefits are too good to pass up!

If you’re interested in learning more about the terminal and Bash, Zach Gollwitzer has an awesome crash course series on youtube.
He has also great tutorials on other topics such as Node and Javascript, so I recommend that you follow him. ;)

As always, I hope you enjoyed the article and learned something new. If you want, you can also follow me on linkedin or twitter.

Cheers and see you in the next one! =D

8ef61e333efccb5900cd117a4d64e8d3



Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started

В данной статье будут рассмотрены основы командной строки Windows, а именно:

  • Понятие командной строки;
  • Справочник по командам командной оболочки;
  • Последовательность событий при выполнение команды;
  • Создание сценариев командной строки;
  • Управление отображением текста и команд;
  • Команды для изучение системной информации;
  • Команды для использования реестра;
  • Управление системными службами;
  • Перезагрузка и выключение систем из командной строки;
  • Управление приложениями и  процессами из командной строки.

Содержание

  1. Понятие командной строки
  2. Краткий справочник по командам командной оболочки (Cmd.exe)
  3. Последовательность событий при выполнение команды
  4. Создание сценариев командной строки
  5. Управление отображением текста и команд
  6. Изучение системной информации
  7. Команды для использования реестра
  8. Управление системными службами
  9. Перезагрузка и выключение систем из командной строки
  10. Управление приложениями, процессами и производительностью

Понятие командной строки

Поддержка командной строки встроена в операционную систему Microsoft Windows и доступна через окно командной оболочки. Командная строка поддерживается во всех версиях Windows и служит для запуска встроенных команд, утилит и сценариев. Несмотря на мощь и гибкость командной строки, некоторые администраторы Windows никогда ее не используют. Если вам хватает графических средств администрирования, можно применять только их, щелкая мышью элементы пользовательского интерфейса.

Однако опытные администраторы Windows, квалифицированные специалисты по технической поддержке и «продвинутые» пользователи не могут обойтись без командной строки. Зная, как правильно применять командную строку, в частности, какие средства командной строки выбрать, как и когда их использовать, чтобы они работали эффективно, можно избежать многочисленных проблем и добиться четкого выполнения операций. Если вы занимаетесь поддержкой нескольких доменов или сетей, то для автоматизации ежедневных операций не только важно, но и необходимо иметь представление об экономящих время способах работы с командной строкой.

С каждой новой версией Windows командная строка совершенствовалась, а ее возможности расширялись. Командная строка претерпела значительные изменения, связанные не только с повышением производительности, но и с увеличением гибкости. Теперь с помощью командной строки Windows можно решать задачи, которые нельзя было решить в предыдущих версиях Windows.

Среду командной оболочки Windows запускают разными способами, в частности указывая параметры при запуске Cmd.exe или используя собственный стартовый файл, хранящийся в каталоге %SystemRoot%System32.

Кроме того, командная строка может работать в пакетном режиме для выполнения набора команд. В пакетном режиме командная строка считывает и выполняет команды одну за другой.

Работая с командной строкой Windows, Вы должны понимать, откуда берутся используемые Вами команды. «Родные» команды (встроенные в операционную систему) бывают двух видов:

  • Внутренние – существуют внутри командной оболочки, у них нет отдельных исполняемых файлов;
  • Внешние — реализованы в отдельных исполняемых файлах, которые обычно хранятся в каталоге %SystemRoot% System32.

Краткий справочник по командам командной оболочки (Cmd.exe)

  • assoc — выводит или изменяет сопоставления (associations) типов файлов;
  • break — задает точки останова при отладке
  • call — вызывает из сценария процедуру или другой сценарий;
  • cd (chdir) — показывает имя текущего каталога или выполняет смену текущего каталога;
  • cls — очищает окно командной строки и буфер экрана;
  • color — задает цвета текста и фона окна командной оболочки;
  • сору — копирует файлы или выполняет конкатенацию файлов;
  • date — показывает или устанавливает текущую дату;
  • del (erase) — удаляет заданный файл, группу файлов или каталог;
  • dir — показывает список подкаталогов и файлов в текущем или заданном каталоге;
  • echo — выводит текст в окно командной строки или задает, надо ли отображать команды на экране (on|off);
  • endlocal — отмечает конец локализации (локальной области видимости) переменных;
  • exit — выход из оболочки командной строки;
  • for — выполняет заданную команду для каждого файла в наборе;
  • ftype выводит или изменяет текущие типы файлов в сопоставлениях расширений файлов с программами;
  • goto — указывает, что интерпретатор команд должен перейти на строку с заданной меткой в пакетном сценарии;
  • if — выполняет команды по условию;
  • md (mkdir) — создает подкаталог в текущем или заданном каталоге;
  • move — перемещает файл или группу файлов из текущего или заданного исходного каталога в указанный каталог. Также может переименовывать каталог;
  • path — показывает или задает путь к командам, используемый операционной системой при поиске исполняемых файлов и сценариев;
  • pause — останавливает выполнение пакетного файла и ожидает ввода с клавиатуры;
  • popd — делает текущим каталог, имя которого было сохранено командой PUSHD;
  • prompt — указывает, какой текст должен показываться в строке приглашения;
  • pushd — сохраняет имя текущего каталога и при необходимости делает текущим заданный каталог;
  • rd (rmdir) — удаляет каталог или каталог вместе с его подкаталогами;
  • rem — помечает комментарии в пакетном сценарии или Config.nt;
  • ren (rename) — Переименовывает файл или группу файлов;
  • set — показывает текущие переменные окружения или задает временные переменные для текущей командной оболочки;
  • setlocal — отмечает начало локализации (локальной области видимости) переменных в пакетных сценариях;
  • shift — сдвигает позицию замещаемых параметров в пакетных сценариях;
  • start — запускает заданную программу или команду в отдельном окне;
  • time — показывает или устанавливает системное время;
  • title — задает заголовок окна командной оболочки;
  • type — показывает содержимое текстового файла;
  • verify — включает режим проверки файлов после записи на диск;
  • vol — показывает метку и серийный номер дискового тома.

Синтаксис любой внутренней команды (и большинства внешних) можно получить, введя в командной строке имя команды и /?, например:

   
   copy /?

Командная оболочка — весьма мощная среда работы с командами и сценариями. В командной строке можно запускать команды разных типов: встроенные команды, утилиты Windows и версии приложений, рассчитанные на командную строку. Независимо от типа каждая команда, которую вы будете использовать, должна соответствовать одним и тем же синтаксическим правилам. Согласно этим правилам, за именем команды идут обязательные или необязательные аргументы. Кроме того, аргументы могут использовать перенаправление ввода, вывода или стандартных ошибок.

Последовательность событий при выполнение команды

  • Командная оболочка заменяет любые переменные, введенные в тексте команд, их текущими — значениями;
  • Если введена группа или цепочка из нескольких команд, строка разбивается на отдельные команды, которые в свою очередь разбиваются на имя и аргументы команды. Далее команды обрабатываются по отдельности;
  • Если в имени команды указан путь, командная оболочка ищет команду по этому пути. Если в указанном каталоге такой команды нет, командная оболочка возвращает ошибку;
  • Если в имени команды не задан путь, командная оболочка сначала пытается разрешить имя команды на внутреннем уровне. Если найдена внутренняя команда с таким именем, значит, вызвана внутренняя команда, которую сразу же можно выполнить. Если внутренней команды с таким именем нет, командная оболочка сначала ищет исполняемый файл команды в текущем каталоге, а затем в каталогах, перечне в переменной окружения PATH. Если файла команды нет ни в одном из этих каталогов, командная оболочка возвращает ошибку;
  • Если команда найдена, она выполняется с заданными аргументами и при необходимости ввод считывается из источника, указанного в этих аргументах. Вывод и ошибки команд показываются в окне командной строки или направляются заданному приемнику вывода и ошибок.
  • Как видите, на выполнение команд влияют многие факторы, в том числе пути к командам, перенаправление ввода-вывода, группирование или создание цепочек команд.

При работе с командной оболочкой Вы, вероятно, запускали ее, открывая меню Start (Пуск) и выбирая Programs (Программы) или All Programs (Все программы), затем Accessories (Стандартные) и Command Prompt (Командная строка). Другие способы запуска командной строки — диалоговое окно Run (Запуск программы) или ввод cmd в другом, уже открытом окне командной оболочки. Эти способы позволяют при запуске командной строки указывать аргументы: ключи, управляющие работой командной строки, и параметры, инициирующие выполнение дополнительных команд. Например, можно запустить командную оболочку в «молчаливом» режиме (т. е. отключить эхо-вывод) командой cmd /q или сделать так, чтобы командная оболочка выполнила заданную команду и завершила свою работу, — для этого нужно ввести cmd /с, а затем текст команды в кавычках.

В следующем примере командная оболочка запускается, выполняет команду ipconfig с выводом результатов в файл и завершается:

   
   cmd /c "ipconfig > c:ipconfig.txt"

Создание сценариев командной строки

Сценарии командной строки — текстовые файлы с командами, которые вы хотите выполнить. Это те же команды, которые обычно вводятся в командной оболочке Windows. Однако вместо того чтобы вводить команды каждый раз, когда они понадобятся, можно создать соответствующий сценарий и упростить себе жизнь.

Поскольку сценарии состоят из стандартных текстовых символов, их можно создавать и редактировать в любом стандартном текстовом редакторе, скажем, в Notepad (блокнот). Вводя команды, убедитесь, что каждая команда или группа команд, которые должны выполняться совместно, разметаются с новой строки. Это обеспечит их корректное выполнение. Закончив создание сценария командной строки, сохраните файл сценария с расширением .bat или .cmd. Оба расширения работают одинаково. Например, если вам надо создать сценарий для вывода имени системы, версии Windows и конфигурации IP, включите в файл SysInfo.bat или SysInfo.cmd следующие три команды:

  
  hostname
  ver
  ipconfig -all

Управление отображением текста и команд

Команда ECHO служит двум целям: для записи текста в вывод (например, в окно командной оболочки или текстовый файл) и для включения/выключения эхо-отображения команд. Обычно при выполнении команд сценария сами команды и вывод этих команд отображаются в консольном окне. Это называется эхо-отображением команд (comand echoing).

Чтобы использовать команду ECHO для отображения текста, введите echo и текст, который надо вывести:

  
  echo The system host name Is: hostname

Чтобы с помощью ECHO управлять эхо-отображением команд, введите echo off или echo on, например:

  
  echo off
  echo The system host name is:
  hostname

Чтобы направить вывод в файл, а не в окно командной оболочки, используйте перенаправление вывода, например:

Курс по SQL для начинающих

  
  echo off
  echo The system host name is: > current.txt
  hostname » current.txt

Теперь посмотрим, как подавляется эхо-отображение команд. Запустите командную оболочку, введите echo off, затем другие команды. Вы увидите, что приглашение командной строки больше не выводится. Вместо него появляется только то, что набирается в консольном окне, и вывод выполненных команд. В сценариях команда ECHO OFF отключает эхо-отображение команд и приглашение командной строки. Добавляя в свои сценарии команду ECHO OFF, вы предотвращаете загромождение окна командной оболочки или файла текстом команд, если Вас интересует лишь вывод от этих команд.

Изучение системной информации

Часто при работе с компьютером пользователя или удаленным сервером возникает необходимость в получении базовой информации о системе вроде имени зарегистрированного в ней пользователя, текущего системного времени или местоположения определенного файла. Команды, которые позволяют собрать основную информацию о системе, включают:

  • NOW — отображает текущую системную дату и время в 24-часовом формате, например Sal May 9 12:30:45 2003. Доступна только в Windows Server 2003 Resource Kit;
  • WHOAMI — сообщает имя пользователя, зарегистрированного в системе на данный момент, например adatumadmi-nistrator;
  • WHERE — выполняет поиск файлов по шаблону поиска (search pattern) и возвращает список совпавших результатов.

Чтобы использовать NOW или WHOAMI, просто введите команду в окне командной оболочки и нажмите Enter. Наиболее распространенный синтаксис для WHERE выглядит так:

  
  where /r базовый_каталог_имя_файла

Здесь параметр /r указан для рекурсивного поиска, начиная от указанного каталога (базовый_каталог) и включая все его подкаталоги, а имя_файла — полное или частичное имя искомого файла, которое может включать символы подстановки (wildcards): знак ? заменяет один символ, а знак * — группу символов, например data???.txt или data*.*. В следующем примере в каталоге С: и всех его подкаталогах выполняется поиск всех текстовых файлов, имена которых начинаются с data.

   
  where /r C: data*.txt

Также можно найти файлы всех типов, имена которых начинаются с data:

   
  where /r C: data*.*

Иногда нужно получить информацию о конфигурации системы или о системном окружении. В критически важных системах эту информацию можно сохранить или распечатать для справки. Ниже перечислены команды, позволяющие собирать информацию о системе.

  • DRIVERQUERY — выводит список всех установленных драйверов устройств и их свойства, в том числе имя модуля (module name), отображаемое имя (display name), тип драйвера и дату сборки (driver link date). В режиме отображения всей информации (/V) сообщается статус (status) и состояние (state) драйвера, режим запуска, сведения об использовании памяти и путь в файловой системе. Параметр /V также включает вывод детальной информации обо всех неподписанных драйверах.
  • SYSTEMINFO — выдает подробную информацию о конфигурации системы, в том числе сведения о версии, типе и изготовителе операционной системы, процессоре, версии BIOS, объеме памяти, региональных стандартах, часовом поясе и конфигурации сетевого адаптера.
  • NLSINFO — отображает подробную информацию о региональных стандартах, включая язык по умолчанию (default language), кодовую страницу Windows, форматы отображения времени и чисел, часовой пояс и установленные кодовые страницы. Эта команда доступна лишь в Windows Server 2003 Resource Kit.

Чтобы использовать эти команды на локальном компьютере, просто введите имя нужной команды в окне командной оболочки и нажмите Enter.

Команды для использования реестра

Реестр Windows хранит конфигурационную информацию операционной системы, приложений, пользователей и оборудования. Эти данные содержатся в разделах (keys) и параметрах (values) реестра, которые размещаются в определенном корневом разделе (root key), который контролирует, как и когда используются разделы и параметры.

Если Вы знаете пути к разделам и понимаете допустимые типы данных в разделах, то можете использовать команду REG для просмотра разделов и параметров и манипуляций над ними самыми разнообразными способами. REG поддерживает несколько подкоманд:

  • REG add — добавляет в реестр новый подраздел или элемент;
  • REG delete — удаляет из реестра подраздел или элемент;
  • REG query — выводит список элементов раздела и имена подразделов (если они есть);
  • REG compare — сравнивает подразделы или элементы реестра;
  • REG сору — копирует элемент реестра по указанному пути раздела на локальной или удаленной системе;
  • REG restore — записывает в реестр ранее сохраненные подразделы, элементы и параметры;
  • REG save — сохраняет копию указанных подразделов, элементов и параметров реестра в файл.

Управление системными службами

Службы обеспечивают ключевые функции рабочих станций и серверов. Для управления системными службами на локальных и удаленных системах используется команда контроллера служб (service controller command) SC, имеющая набор подкоманд, ниже описывается лишь их часть:

  • SC config — настройка учетных записей регистрации и запуска служб;
  • SC query — вывод списка всех служб, настроенных на компьютере;
  • SC qc — отображение конфигурации определенной службы;
  • SC start — запуск служб;
  • SC stop — остановка служб;
  • SC pause — приостановка работы служб;
  • SC continue — возобновление работы служб;
  • SC failure — задание действий, выполняемых при сбое службы;
  • SC qfailure — просмотр действий, выполняемых при сбое службы.

Во всех командах можно указывать имя удаленного компьютера, со службами которого Вы хотите работать. Для этого вставьте UNC-имя или IP-адрес компьютера перед используемой подкомандой. Вот синтаксис:

  
  sc ИмяСервера Подкоманда

Перезагрузка и выключение систем из командной строки

Системы нередко приходится перезагружать или выключать. Один из способов — использовать для этого утилиту Shutdown, которая позволяет работать с локальной и удаленными системами. Другой способ управлять выключением или перезагрузкой системы — назначить задание для выключения. Здесь можно использовать Schtasks, чтобы указать время выключения, или создать сценарий со списком команд выключения для индивидуальных систем.

Управлять перезагрузкой и выключением локальной системы позволяют следующие команды.

Выключение локальной системы:

  
  shutdown /s /t ЗадержкаВыключения /1 /f

Перезагрузка локальной системы:

  
  shutdown /r /t ЗадержкаВыключения /1 /f

Управление приложениями, процессами и производительностью

Всякий раз, когда операционная система или пользователь запускает службу, приложение или команду, Microsoft Windows запускает один или более процессов для управления соответствующей программой. Несколько утилит командной строки упростят вам мониторинг программ и управление ими. К этим утилитам относятся:

  • Pmon (Process Resource Manager) — показывает статистические данные по производительности, включая использование памяти и процессора, а также список всех процессов, выполняемых в локальной системе. Позволяет получать детальные «снимки» задействованных ресурсов и выполняемых процессов. Pmon поставляется с Windows Resource Kit;
  • Tasklist (Task List) — перечисляет все выполняемые процессы по имени и идентификатору процесса, сообщает информацию о сеансе пользователя и занимаемой памяти;
  • Taskkill (Task Kill) — останавливает выполнение процесса, заданного по имени или идентификатору. С помощью фильтров можно останавливать процессы в зависимости от их состояния, номера сеанса, процессорного времени, занимаемой памяти, имени пользователя и других параметров.

Вот в принципе все, что я хотел рассказать об основах командной строки Windows.

  1. Как открыть командную строку Windows?
  2. Параметры команд и получение помощи
  3. Запуск системных компонентов и программ из командной строки
  4. Работа с файлами и папками из командной строки
  5. Востребованные сетевые команды командной строки
  6. Редко используемые, но очень полезные команды

Выполнение множества задач в операционных системах Windows возможно не только при использовании привычного графического пользовательского интерфейса, но и при помощи интерпретатора командной строки (командной строки, консоли). Через него можно изменять различные системные параметры, управлять файлами и папками, запускать системные компоненты и любые программы, выполнять иные операции. Рассмотрим наиболее важные команды командной строки Windows, которые могут пригодиться любому пользователю.

Как открыть командную строку Windows?

Некоторые из консольных команд можно выполнить лишь из учетной записи администратора. Потому лучше сразу запомнить, как запускать интерпретатор с максимальным количеством прав доступа к системе. В ОС Windows 7/8/10 делается это просто:

  • Откройте «Поиск» в/около меню «Пуск».
  • Впишите поле поиска «Командная строка».
  • В результатах поиска отобразится нужная нам программа. Кликните по ней правой кнопкой мыши, затем выберите из выпадающего меню пункт «Запустить от имени администратора».

Запуск командной строки

Но для выполнения простых команд консоль Windows можно запускать и без прав администратора. Проще всего это сделать следующим образом:

  • Нажмите на клавиатуре клавиши «Win» и «R».
  • Откроется окно «Выполнить».
  • Впишите в него команду cmd и нажмите «ОК».

Запуск командной строки

Так или иначе, системное приложение «Командная строка Windows» будет запущена и готова выполнению пользовательских команд:

Командная строка Windows

Параметры команд и получение помощи

Прежде чем приступать к изучению команд, следует понимать два важных момента:

  • У многих команд существуют изменяемые параметры, уточняющие выполнение командой той или иной функции.
  • По любой команде можно получить помощь прямо в окне интерпретатора. Для этого следует сразу после команды вписать «/?«, что также является параметром.

Возьмем, к примеру, одну из наиболее востребованных команд ping. Впишите в консоль следующую строку:

ping /?

Вызов справки по команде ping

Подобным способом можно получить справку по большинству команд (в основном по тем, у которых имеются атрибуты).

Запуск системных компонентов и программ из командной строки

Здесь стоит отметить, что запускать системные компоненты и программы все же проще не напрямую из командной строки, а из ранее упомянутого приложения «Выполнить». Но разницы в синтаксисе (написании) самих команд никакой нет. В обоих случаях после ввода команды достаточно нажать «Enter».

Вот список наиболее востребованных команд для запуска системных приложений и компонентов:

  • control — запуск «Панели управления Windows».

Выполнение команды "control"

  • regedit — запуск «Редактора реестра».

Выполнение команды "regedit"

  • devmgmt.msc — запуск «Диспетчера устройств».

Выполнение команды "msc"

  • taskmgr — запуск «Диспетчера задач».

Выполнение команды "taskmgr"

  • services.msc — запуск приложения «Службы».

Выполнение команды "services.msc"

  • appwiz.cpl — «Программы и компоненты» («Установка и удаление программ»).

Выполнение команды "appwiz.cpl"

И это далеко не полный список команд запуска системных приложений и компонентов, а лишь самые востребованные у нас — обычных пользователей.

А вот 4 команды для запуска предустановленных (стандартных) в Windows программ:

  • calc — запуск «Калькулятора».

Калькулятор Windows

  • mspaint — запуск графического редактора «Paint».

Графический редактор mspaint

  • notepad — запуск текстового редактора «Блокнот».

Текстовый редактор notepad

  • wordpad — запуск текстового редактора «WordPad»

Тектовый редактор wordpad

Вообще, из командной строки можно запустить любую другую программу или файл. Рассмотрим, как это сделать, а заодно познакомимся с некоторыми командами по управлению файлами и папками.

Работа с файлами и папками из командной строки

Бывают ситуации, когда невозможно запустить стандартный файловый менеджер «Проводник Windows». Например, из-за действия вирусов-блокировщиков или при системных сбоях. В любом случае все, что можно сделать при помощи «Проводника», можно сделать и при помощи командной строки. Начнем с самого простого — просмотра содержимого папок.

Просмотр содержимого папки. При запуске командной строки перед мигающим курсором можно увидеть адрес расположения папки учетной записи на жестком диске. В нашем случае — это «C:Usersvzgn»:

Просмотр содержимого папки

Давайте, выведем на экран список все других объектов (файлов и папок), содержащихся в данной папке. Для этого используйте команду dir:

Выполнение команды DIR

Объекты, напротив которых написано <DIR> — это папки, все остальное — файлы (напротив них указан размер в байтах).

Команду dir можно применять вообще папкам, расположенным в вообще любом месте на жестком диске. Для этого после команды следует указать путь до каталога. К примеру, для просмотра содержимого папки «Windows» на диске «C:» следует ввести команду:

dir c:windows

Запомните одно простое правило. Если в именах папок/файлов присутствуют пробелы, их следует писать в двойных («имя папки или файла») кавычках.

Открытие файла из командной строки. Для открытия файла достаточно вписать его полное название вместе с расширением в командную строку. Что не вводить имя файла целиком, используйте клавишу «Tab» (с ее помощью можно поочередно перебирать имена всех объектов в текущей папке).

Открытие файла из командной строки

В нашем случае был открыт файл .pgAdmin4.startup.log при помощи «Блокнота». Если бы это был музыкальный файл, запустился бы аудиопроигрыватель, если DOC/DOCX-файл — редактор «MS Word» и т.д. Таким образом, открытие файла в командной строке равнозначно двойному клику по файлу в «Проводнике Windows».

Переход в другую папку. Для перехода в папку используется команда cd, после которой следует прописать путь к открываемой папке либо просто ее имя (если она расположена в нашем текущем местоположении на жестком диске).

Перейдем в папку «Music». Т.к. она находится в текущем каталоге, достаточно ввести в консоль:

cd music

Выполнение команды CD

Теперь наше местоположение изменилось на «C:UsersvzgnMusic».

Давайте, перейдем в какую-нибудь папку, расположенную на другом локальном диске. Это можно сделать несколькими способами, но воспользуемся самым легким для запоминания.

  • Для начала перейдем в сам локальный диск (изменим наше местоположение). Для этого достаточно использовать (независимо от текущего местоположения) команду e:. Вместо e можно использовать любую другую букву локального диска (или даже флешки, например):

  • Допустим, нам известно, что на диске «E» существует папка «Install«, а в ней — пака «Web«. Перейти в нее можно одной командой:

cd e:installweb

Переход в папку на другом диске через командную строку

Запуск/открытие программы/файлы в другой папке или на другом диске. Запустим программу, расположенную где-нибудь глубоко на диске. Для запуска файла или программы можно просто указать полный путь до него. Текущее местоположение в этом случае не имеет значения. Запустим, например, текстовый редактор «Notepad++» одной командой:

C:»Program Files»Notepad++notepad++.exe

Запуск программы через командную строку

Обратите внимание, что имя папки «Program Files» взято в кавычки, т.к. в нем присутствует пробел.

Создание, удаление и переименование файлов и папок. Из командной строки можно выполнить все эти операции над файлами и папками.

  • Создание простого текстового файла — copy nul простой_текстовый_файл.txt. Перед названием файла можно указать путь до конечной папки, в которой тот будет создан (если не указать, файл создастся в текущей папке).

Создание файла в командной строке

  • Создание папки — mkdir папка. Папка также создается в текущем местоположении.

Создание папки в командной строке

  • Удаление файла (или нескольких) — del простой_текстовый_файл.txt (если требуется удалить несколько файлов, просто вписываем их имена друг за другом через пробел). Удаляем созданный ранее файл.
  • Удаление папки — rmdir папка. Удаляем созданную ранее папку.

Удаление папки в командной строке

  • Переименование папки/файла — ren простой_текстовый_файл.txt новое_имя_файла.txt или ren папка новое_имя_папки. Переименуем созданный файл и папку.

Переименование папок и файлов в в командной строке

Через командную строку можно выполнить и ряд других операций над файлами и папками, включая копирование, перемещение, применение/изменение атрибутов (скрытый, системный, только для чтения и т.д.), слияние и т.д.

Востребованные сетевые команды командной строки

Из командной строки Windows можно взаимодействовать с сетевыми подключениями, изменять их настройки, просматривать различную информацию и многое другое. Рассмотрим наиболее востребованные сетевые команды.

Команда ping

Наверное, это самая популярная команда среди пользователей ОС Windows (как, впрочем, и других операционных систем). Предназначена она для проверки доступности и качества связи между компьютером и целевым IP-адресом. Также команда может применяться для определения IP-адреса сайта по доменному имени сайта и для выполнения других задач.

Определим, есть ли связь с каким-нибудь IP-адресом. Пусть это будет — 173.194.73.139 (IP-адрес поисковой системы Google). Вводим следующую команду:

ping 173.194.73.139

Выполнение команды PING

Как видим, обмен пакетами с указанным IP-адресом осуществляется, значит, связь есть. Если бы ее не было, картина была бы следующая (уберем из IP Google последнюю цифру):

Выполнение команды PING

«100% потерь» означает, что связь установить не удалось.

А теперь определим IP-адрес сайта по его доменному имени. Возьмем адрес softsalad.ru:

ping softsalad.ru

Определение IP при помощи команды PING

На изображении выше можно увидеть IP-адрес сайта, определенный по его доменному имени.

Команда tracert

А эта команда применяется для отслеживания сетевого маршрута от компьютера до целевого IP-адреса (можно использовать и доменное имя сайта):

tracert softsalad.ru

Выполнение команды TRACERT

Видите, чтобы «достучаться» до сайта компьютеру в данном случае потребовалось обратиться к 12 промежуточным IP-адресам (ваш провайдер, сервер сайта и т.д.).

Команда ipconfig

С помощью этой команды можно получить информацию о настройках IP-протокола компьютера (или, грубо говоря — настройки сетевых карт). Воспользуемся данной командой с атрибутом /all, который позволит вывести более подробную информацию:

ipconfig /all

Выполнение команды ipconfig /all

Команда getmac

Если требуется определить только MAC-адрес сетевой карты, используем эту команду без всяких атрибутов:

getmac

Выполнение команды GETMAC

Редко используемые, но очень полезные команды

При помощи командной строки можно выполнять различные интересные функции (большинство приведенных ниже команд работает только с правами администратора):

Превращаем ноутбук в Wi-Fi-роутер (включение раздачи интернета с ноутбука или настольного компьютера с Wi-Fi-адаптером)

Для реализации этой затеи нужно поочередно выполнить три несложные команды:

  1. netsh wlan set hostednetwork mode=allow
  2. netsh wlan set hostednetwork mode=allow ssid= MiWiFi key= MiWiFipassword keyUsage=persistent. Вместо MiWiFi и MiWiFipassword можно использовать свои фразы. Первый параметр задает имя беспроводной сети, второй — пароль (должен состоять из 8 символов или более).
  3. netsh wlan start hostednetwork.

Как раздать интернет с ноутбука из командной строки

Если после выполнения каждой команды вы видите сообщения, аналогичные тем, что приведены на изображении выше, значит, все прошло успешно. Теперь к ноутбуку можно подключиться, например, с телефона так же, как и к обычному Wi-Fi-роутеру.

Удалениям службу Windows (или любую другую) через командную строку

Если попробовать удалить службу через штатное приложение «Службы», то ничего не получится (в нем попросту не предусмотрено такой функции). Однако это бывает необходимым, особенно после установки различных программ, которые устанавливают службы, но «забывают» их удалять при деинсталляции. Это легко реализуется через командную строку. Однако для начала необходимо узнать имя службы, и это можно сделать через стандартное Windows-приложение:

  • Запустите программу «Службы», используя команду msc.
  • Найдите в отобразившемся списке службу, которую необходимо удалить, и кликните по ней два раза мышкой:

Службы Windows

  • Нас интересует текст в блоке «Имя службы».
  • Теперь вернитесь в окно командной строки и впишите в него команду:

sc delete имя_службы

  • Подставьте вместо фразы «имя_службы» имя удаляемой службы. Если оно содержит пробелы, как в нашем случае, заключите имя службы в кавычки.

Удаление службы из командной строки

  • Служба удалена.

Выключаем/перезагружаем/отправляем в сон/гибернацию компьютер с задержкой. Если необходимо выключить, перезагрузить или отправить в сон компьютер с задержкой по времени, не обязательно использовать какие-либо сторонние программы — все можно сделать при помощи командной строки. Для этого достаточно использовать команду:

shutdown /s /t 60 /f

В данном случае компьютер будет выключен (параметр «/s«) через 60 секунд (параметр «/t 60«) с принудительным завершением работы всех приложений без предупреждения пользователя (параметр «/f» — обязательный при использовании таймера «/t«).

Вместо выключения компьютера «/s» использовать:

  • /l — завершение сеанса (выход из учетной записи пользователя с блокировкой, если для входа требуется пароль).
  • /r — перезагрузка компьютера.
  • /hybrid /s — «отправка» компьютера в сон (параметр «/s» использовать обязательно).
  • /h — режим гибернации (или режим максимального энергосбережения, при котором ключевые компоненты компьютера остаются включенными).

Для выключения компьютера, например, через 2 часа следует указывать в параметре «/t» число 7200 (1 час равен 3600 секундам).

Выключение компьютера из командной строки

Сразу после выполнения команды на экран будет выведено уведомление:

Уведомление о выключении компьютера

Выполнение команды всегда можно отменить (если была использована задержка), воспользовавшись:

shutdown /a

Отмена выклчения компьютера

Просмотр списка запущенных процессов и завершение работы любого из них. Если по каким-то причинам не удается запустить «Диспетчер задач», но имеется доступ к командной строке, запущенный процесс может быть снят при помощи специальных команд:

  • Сначала выведем на экран список всех запущенных процессов при помощи команды tasklist:

Просмотр запущенных процессов из командной строки

  • Нас интересует идентификатор «PID» завершаемого процесса. Возьмем для примера PID процесс «NVDisplay.Container.exe» — 1100.
  • Для завершения его работы используем команду taskkill /pid 1100 /f (параметр «/f» необходим для принудительного завершения работы процесса).

Завершение работы процесса из командной строки

Чиним интернет при помощи командной строки. Разнообразные неполадки с сетевыми подключениями можно устранить «одним махом» через командную строку путем сброса настроек TCP/IP (не будем вдаваться в подробности, но если вам интересно, об это можно почитать тут — Netsh Winsock — что это и зачем нужно?.

Для выполнения этой задачи нужно поочередно ввести две команды:

netsh int ip reset

netsh winsock reset

Сброс параметров IP из командной строки

Перезагружаем компьютер для применения изменений.

Командная строка Windows является стандартным средством диагностики, настройки и управления компонентами операционной системы и прикладным программным обеспечением.

В отличие от графической среды пользователя, командная строка является более гибким и универсальным инструментом, позволяющим решать многие задачи администрирования системы стандартными средствами Windows без установки дополнительного программного обеспечения.

Способы запуска командной строки

Командная строка Windows может быть запущена как и любое другое стандартное приложение — через Главное меню Windows, с использованием диалога Выполнить (комбинации клавиш Win+R, Win+X), а также с использованием открытия Проводником ( по двойному щелчку ) ярлыка или исполняемого файла C:WINDOWSSystem32cmd.exe .

В результате запуска откроется окно командной строки с приглашением к вводу команд. Приложение cmd.exe часто называют командным процессором или интерпретатором команд, а его основное окно – консолью Windows . Команды консоли представляют собой строку символов, которая может содержать встроенные команды командного процессора (HELP, ECHO и т.п.), имена и пути исполняемых или командных файлов (C:WindowsSystem32ping.exe), а также дополнительные параметры, если они требуются для выполнения конкретной команды (ping.exe yandex.ru).

Результаты выполнения команд отображаются в окне консоли Windows и нередко зависят от наличия достаточных прав у текущего пользователя. Для выполнения команд в контексте учетной записи Администратора в операционных системах Windows Vista — Windows 10 необходимо использовать режим Запуск от имени Администратора .

Справочник по командам CMD Windows

Данная страница представляет собой самый полный документ в русскоязычном сегменте Интернет, содержащий список команд командной строки всех версий Windows.

В разных версиях ОС семейства Windows набор поддерживаемых команд, их параметры командной строки, синтаксис и отображение результатов выполнения могут различаться. Одна и та же утилита командной строки может присутствовать в стандартной поставке одной версии Windows, но отсутствовать в другой, или входить в состав дополнительных средств, как например, Resource Kit или Software Development Kit.

На данной странице представлено описание не только внутренних команд CMD , но и стандартных утилит командной строки, входящих в состав конкретных версии операционной системы (ОС) семейства Windows . Некоторые из приведенных команд устарели, и больше не поддерживаются разработчиком или не имеют смысла в современных операционных системах, что отмечается в описании команды.

Список команд постоянно обновляется и включает в себя все новейшие команды, добавляемые в стандартную поставку при выходе новых версий или обновлений ОС Windows 10 .

  • APPEND — позволяет программам открывать файлы данных из указанных папок так, как будто они находятся в текущей папке.

  • ARP — просмотр и изменение таблиц ARP (Address Resolution Protocol)

  • ASSOC — просмотр или изменение сопоставлений расширений файлов приложениям

  • AT — управление планировщиком задач

  • ATTRIB — изменение атрибутов файлов

  • Auditpol — управление политиками аудита.

  • BASH — командная оболочка BASH в подсистеме Windows для Linux (WSL).

  • BCDBOOT — копирование в системный раздел файлов загрузки и создание нового хранилища конфигурации загрузки (BCD)

  • BCDEDIT — редактирование хранилища данных конфигурации загрузки (BCD)

  • BOOTCFG — редактирование параметров загрузки в файле boot.ini

  • BOOTIM — вызов меню загрузки и восстановления (Выбор действия) Windows 10

  • BOOTREC — восстановление загрузочных записей и конфигурации загрузки Windows

  • BOOTSECT — редактирование загрузочных секторов для обеспечения загрузки NTLDR или BOOTMGR

  • BREAK — включить или выключить обработку комбинации клавиш CTRL+C в DOS

  • CACLS — редактирование списков управления доступом к файлам (ACL — Access Control List)

  • CALL — вызов из командного файла подпрограмм или других командных файлов

  • CD — смена каталога (Change Directory)

  • CHANGE — изменение настроек сервера терминалов. Контексты — LOGON, PORT, USER

  • CHGLOGON — изменение настроек сервера терминалов, аналогично CHANGE LOGON

  • CHGPORT — изменение настроек сервера терминалов, аналогично CHANGE PORT

  • CHGUSR — изменение настроек сервера терминалов, аналогично CHANGE USER

  • CHCP — просмотр или изменение текущей кодовой страницы

  • CHKDSK — проверка диска (Check Disk)

  • CheckNetIsolation — управление доступом приложений к интерфейсу замыкания на себя (localhost) в Windows 10

  • CHKNTFS — проверка признака ошибки файловой системы и управление проверкой диска при загрузке Windows

  • CHOICE — реализация пользовательского ввода в командном файле

  • CIPHER — отображение или изменение шифрования файлов на томах NTFS

  • CLEARMGR — управление очисткой дисков Windows

  • CLIP — перенаправление вывода утилит командной строки в буфер обмена — Windows

  • CLS — очистка экрана в командной строке

  • CMD — запуск новой копии интерпретатора командной строки

  • CMDKEY — создание, отображение, удаление и сохранение имен пользователей и паролей

  • COLOR — изменение цвета текста и фона в окне CMD

  • COMMAND — запуск новой копии интерпретатора командной строки MS-DOS

  • COMP — сравнение содержимого файлов

  • COMPACT — управление сжатием и распаковкой файлов в разделах NTFS

  • CONVERT — преобразование файловой системы из FAT в NTFS

  • COPY — копирование файлов и каталогов

  • Cscript — сервер сценариев Windows с консольным интерфейсом

  • DATE — отображение или изменение даты

  • DEBUG — запуск отладчика DOS-Windows XP

  • DEFRAG — дефрагментация диска

  • DEL — удаление одного или нескольких файлов

  • DevCon — управление устройствами в командной строке

  • DIANTZ — тоже что и MAKECAB, создание архивов .cab.

  • DIR — отображение списка файлов и каталогов

  • DISKCOMP — сравнение содержимого двух гибких дисков

  • DISKCOPY — копирование содержимого одного гибкого диска на другой

  • DISKPART — управление разделами и дисками из командной строки

  • DISM — управление компонентами образрв WIM.

  • DISPDIAG — вывод дампов с диагностической информацией о графической подсистеме.

  • DJOIN — автономное присоединение компьютера к домену.

  • DOSKEY — редактирование и повторный вызов команд Windows, создание макросов DOSKey

  • DRIVERQUERY — отобразить информацию об установленных драйверах.

  • DxDiag — средство диагностики DirectX.

  • ECHO — вывод текста на экран консоли

  • EDIT — запуск текстового редактора

  • ENDLOCAL — конец локальных изменений переменных окружения в командном файле

  • ERASE — аналогично команде DEL — удаление файлов

  • ESENTUTL — обслуживание баз данных Extensible Storage Engine для Windows

  • EVENTCREATE — запись сообщения в журнал событий Windows

  • EXIT — выход из процедуры или командного файла

  • EXPAND — распаковка сжатых файлов CAB-файлов.

  • EXTRACT — извлечение содержимого, распаковка CAB-файлов в Windows (EXTRAC32)

  • FC — сравнение содержимого файлов

  • FIND — поиск строки символов в файле

FINDSTR — поиск строк в файлах с использованием регулярных выражений

  • FOR — организация циклической обработки результатов выполнения других команд, списков, и строк в текстовых файлах

  • FORFILES — выполнение указанной команды для каждого файла из заданной группы

  • FORMAT — форматирование диска

  • FSUTIL — управление файловой системой

  • FTP — консольный FTP-клиент

  • FTYPE — просмотр и изменение расширений файлов и сопоставленных им приложений

  • GETMAC — отображение физического адреса сетевого адаптера (MAC-адреса)

  • GOTO — команда безусловного перехода в командном файле

  • GPRESULT — отображение результирующей политики (RSoP)

  • GPUPDATE — обновление групповых политик.

  • HELP — вызов справки командной строки Windows

  • HOSTNAME — отображение имени компьютера

  • iCACLS — управление списками доступа (ACL)

  • IF — оператор условного выполнения команд в пакетном файле

  • IPCONFIG просмотр и управление конфигурацией протокола IP

  • LABEL — редактирование меток тома дисков

  • LOGMAN — управление монитором оценки производительности системы

  • LOGOFF — завершение сеанса пользователя

  • MAKECAB — создание сжатых файлов формата CAB

  • MBR2GPT — преобразование дисков MBR в GPT

  • MEM — вывод справки об использовании памяти в MS-DOS

  • MD — создание нового каталога

  • MKLINK — создание символической ссылки на файл или каталог

  • MODE — конфигурирование системных устройств в среде CMD

  • MORE — постраничный вывод в консоли

  • MOUNTVOL — управление точками монтирования томов

  • MOVE — перемещение файлов и каталогов

  • MOVEFILE — перемещение или удаление занятых файлов при следующей перезагрузке

  • MSG — отправка сообщений пользователям.

  • MSTSC — подключение к удаленному рабочему столу.

  • NBTSTAT — просмотр статистических данных NETBIOS через TCP/IP (NetBT)

  • NET — управление ресурсами локальной сети

  • NETCFG — отображение и изменение конфигурации компонентов сети

  • NETSH — командная сетевая оболочка (Network Shell)

  • NETSTAT — отображение статистики сетевых соединений

  • NSLOOKUP — просмотр данных DNS в командной строке

  • OPENFILES — управление открытыми по сети или локально файлами

  • PATH — отображение или изменение путей поиска исполняемых файлов

  • PATHPING — трассировка маршрута с возможностью оценки качества участков трассы

  • PAUSE — пауза при выполнении командного файла

  • PING утилита проверки доступности узла

  • PKGMGR — управление программными пакетами Windows

  • PNPUTIL — конфигурирование драйверов устройств PnP

  • POPD — возврат в каталог, ранее запомненный с помощью команды PUSHD

  • POWERCFG — настройка параметров системы электропитания Windows

  • PRINT — печать текстового файла

  • PROMPT — изменение строки приглашения в консоли

  • PUSHD — сохранить текущий путь каталога и перейти в указанный

  • PSR — записать действия пользователя в Windows 7/8.1/10 (Problem Steps Recorder)

  • QPROCESS — отобразить состояние процессов

  • QUERY — опросить состояние процессов и сеансов пользователей

  • QUSER — отобразить информацию о сеансах пользователей

  • RASDIAL — управление сеансами удаленного доступа

  • RASPHONE — управление сеансами удаленного доступа

  • RD — удаление каталога

  • REAGENTC — адимнистрирование стреды восстановления Windows

  • RECOVER — восстановление файлов на поврежденном диске

  • REG — утилита командной строки для работы с реестром Windows

  • REGEDIT — импорт и экспорт данных реестра Windows

  • REGSVR32 — регистрация или отмена регистрации DLL

  • REGINI — управление доступом к разделам реестра

  • REM — комментарии в командных файлах

  • RENAME (REN) — переименование файлов

  • REPLACE — замена или добавление файлов в катологах

  • RESET — сброс сеанса удаленного рабочего стола (RDP сессии)

  • RMDIR — удаление каталога

  • ROBOCOPY — утилита резервного копирования и синхронизации каталогов (Robust File and Folder Copy)

  • ROUTE — управление таблицей маршрутизации

  • RUNAS — запуск приложения от имени другого пользователя

  • RUNDLL32 — запуск DLL в качестве приложения

  • SC — управление службами Windows (Service Control)

  • SCHTASKS — управление планировщиком задач

  • SCLIST — отображение списка системных служб

  • ScriptRunner — запуск одного или нескольких скриптов в Windows 10

  • SET — отображение и изменение переменных среды окружения Windows

  • SETLOCAL — установка локальных переменных в командном файле

  • SETX — утилита для создания системных переменных

  • SFC — проверка и восстановление системных файлов Windows

  • SHARE — просмотр, создание и удаление разделяемых в локальной сети ресурсов

  • SHIFT сдвиг входных параметров для командного файла

  • SHUTDOWN — выключение или перезагрузка компьютера

  • SLEEP — задержка по времени в пакетном файле

  • SLMGR — управление лицензированием программного обеспечения Windows

  • SORT — сортировка строк в текстовом файле

  • START — запуск приложения или командного файла

  • STORDIAG — диагностика системы хранения данных в Windows 10

  • SUBST — назначение (отмена назначения) каталогу буквы диска

  • SxSTrace — диагностическое средство трассировки компонент системы

  • SYSTEMINFO — отображение информации о системе

  • TAKEOWN — изменение владельца файла или каталога

  • TAR — архивирование данных архиватором tar в Windows 10

  • TASKKILL — завершение процессов на локальной или удаленной системе.

  • TASKLIST — отображение списка выполняющихся приложений и служб Windows

  • TIME — отображение и установка системного времени

  • TELNET — telnet-клиент Windows

  • TFTP — TFTP-клиент Windows

  • TIMEOUT — задержка в пакетных файлах

  • TITLE — изменение заголовка окна CMD.EXE

  • TRACERT — трассировка маршрута к удаленному узлу

  • TREE — отображение структуры каталога в графическом виде

  • TSCON — подключение к сессии удаленного рабочего стола (RDP).

  • TSDISCON — отключение сессии удаленного рабочего стола (RDP).

  • TSKILL — завершение процессов, адаптированное для среды сервера терминалов (RDP).

  • TYPE — вывод на экран содержимого текстового файла

  • TypePerf — вывод сведений о производительности на экран или в журнал

  • TZUTIL — управление часовыми поясами в среде Windows

  • VaultCmd — администрирование учетных данных Windows.

  • VER — отображение версии операционной системы

  • VERIFIER — тестирование драйверов Windows.

  • VERIFY — управление режимом проверки записываемых файлов

  • VOL — вывод данных метки тома

  • VSSADMIN — администрирование службы теневого копирования томов.

  • W32TM — управление службой времени Windows

  • WAITFOR — организация обмена сигналами между компьютерами

  • WBADMIN — управление резервным копированием и восстановлением в Windows

  • WEVTUTIL — управление событиями в Windows

  • WHERE — определение места расположения файлов

  • WHOAMI — вывод имени текущего пользователя

  • WINDIFF — сравнение содержимого файлов

  • WinMgmt — обслуживание инструментария управления Windows (WMI)

  • WINRM — удаленное управление Windows из командной строки

  • WINRS — удаленная командная строка (Remote Shell)

  • WINSAT — средство проверки производительности Windows

  • WMIC — выполнение команды WMI в командной строке

  • WSCollect — получить CAB-файл с копиями журналов Windows 10 на рабочем столе

  • Wscript — сервер сценариев Windows с графическим интерфейсом

  • WSL — выполнение команд Linux и конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10

  • WSLconfig — конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10

  • WUSA — автономная установка обновлений Windows

  • XCOPY — копирование файлов и папок

Время на прочтение
3 мин

Количество просмотров 324K

Недавно я вырос из лютого эникея в очень большой компании, до скромного сисадмина надзирающего за сетью в 10 ПК. И, как очень ленивый сисадмин, столкнулся с задачами по автоматизации своей деятельности. Полгода назад я еще не знал, что в командной строке Windows есть конвейеры. Это стало первым шокирующим открытием. И я пошел дальше, и выяснилось, что там, где я раньше писал утилитки на C#, Delphi или громоздкие скрипты с вложенными циклами, можно было обойтись парой команд forfiles или robocopy.
Не буду рассказывать о банальностях, типа о перечислении файлов и папок клавишей Tab. Под хабракатом расскажу о том, что может быть полезно начинающим админам и эникеям.

Горячие клавиши

Начнем с горячих клавиш, ведь сначала необходимо изучить, что нам может дать рабочая среда.

F1 — В консоли эта клавиша работает в точности как и стрелка вправо, т.е. выводит по одному символу из последней введенной (либо выбранной в истории) команды.
F2 + <символ> — Выводит последнюю введенную команду до указанного символа. Например, если последняя введенная вами команда выглядела вот так:

ping 192.168.25.1

то после нажатия комбинации клавиш F2 + 5 вы получите:

ping 192.168.2

F3 — Выводит последнюю, и только последнюю, в истории команду целиком.
F5 — Выводит последние введенные команды по порядку, также как и стрелка вверх.
F6 — Вставляет символ EOF на текущую позицию командной строки, что аналогично нажатию комбинации Ctrl + Z.
F7 — Диалоговое окно, содержащее историю команд.
image
Alt + F7 — Очищает историю команд.
<символ(ы)> + F8 — Перебирает команды, которые начинаются с символов уже введенных в командную строку.
Если перед нажатием F8 ничего не вводить, то эта клавиша будет работать как и стрелка вверх, но с небольшим отличием — перебор строк будет осуществляться циклично, т.е. после первой команды из списка будет выведена последняя.
F9 + <число> — Вставляет команду из истории под соответствующим номером. К примеру, в ситуации приведенной на скрине выше при нажатии комбинации F9 + 4 в консоли появится:

ipconfig
Операторы командной строки

Я, давным-давно, когда был маленький, даже не представлял как можно работать в консоли без графического интерфейса. Ведь вывод команд порой занимает десятки страниц, а если надо выбрать оттуда какие-то данные, то и постраничный вывод не спасет. Но однажды я поставил на старый комп FreeBSD, открыл хандбук и просто голова кругом пошла от открывшихся возможностей. Там можно перенаправить вывод команды на вход другой команды и это называется конвейером.

Оператором конвейера в *nix и cmd, является символ вертикальной черты.

|

Например, вывод всех текстовых файлов в текущей папке покажет команда

dir | find ".txt"
Оператор объединения команд

&

Пример: Команда1 & Команда2 – сначала выполнятся Команда1, а уже потом Команда2

Оператор И

&&

Пример: Команда1 && Команда2 — Команда2 будет выполняться только в том случае, если произошло успешное выполнение Команды1

Оператор ИЛИ

||

Пример: Команда1 || Команда2 — Команда2 будет выполняться только в том случае, если Команда1 не смогла выполниться.

Для группирования команд используются круглые скобки, примеры:

  • (Команда1 & Команда2) && Команда3 – Если Команды1 и Команды2, выполнятся успешно, произойдет выполнение Команды3.
  • (Команда1 & Команда2) || Команда3 — Если Команды1 и Команды2, не выполнятся, произойдет выполнение Команды3.

Спасибо за внимание! Жду критики и предложений…

UPD1

Для тех, кто не в теме, циркумфлекс(вот этот знак «^») означает нажатие клавиши с Ctrl(^C = Ctrl +C).

^C — Прерывает команду, ну это все знают.
^S — Приостанавливает выполнение команды, а потом запускает.
^I — Аналог Tab, перебирает папки и файлы.
^M — Аналог Enter.
^H — Аналог Backspace.
^G — Написав в пакетном файле команду echo ^G можно пикать системным динамиком(спикером).
(Команды ^I и ^H, получены мной методом «научного тыка», еще есть ^J но не знаю, что она делает)

P.S. Другие тонкости командной строки Windows, уже неоднократно освещались на Хабре. И не вижу смысла копи-пастить.
P.P.S. Ссылки на интересные посты и статьи по другим возможностям командной строки Windows:
Ввод-вывод, циклы, переменные
Работа с массивами
Интереснейший топик по теме

Понравилась статья? Поделить с друзьями:

А вот и еще наши интересные статьи:

  • Hantek dso5102p руководство пользователя
  • Препарат стекловидное тело инструкция по применению
  • Инструкция по использованию металлодетектора ручного в детском саду
  • Жизнь проходит руководство
  • Форд подробное руководство

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии